回答編集履歴
4
修正
test
CHANGED
@@ -108,7 +108,7 @@
|
|
108
108
|
|
109
109
|
|
110
110
|
|
111
|
-
欲しい結果自体が非正規形のため、まだカラム名を年度ごとに指定する必要がありますが、これでだいぶまともなSQLになります。
|
111
|
+
欲しい結果自体が非正規形のため、まだ条件やカラム名を年度ごとに指定する必要がありますが、これでだいぶまともなSQLになります。CASE式と集約関数の利用がポイントです。
|
112
112
|
|
113
113
|
|
114
114
|
|
3
誤字修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
元のテーブルを前提にすると、おそらくこんな感じのSQLにするしかないです(未検証なので
|
1
|
+
元のテーブルを前提にすると、おそらくこんな感じのSQLにするしかないです(未検証なので間違ってるかもしれないけど)。店テーブルはデータが欲しい結果に含まれていないため使用していません。
|
2
2
|
|
3
3
|
|
4
4
|
|
2
誤字修正
test
CHANGED
@@ -108,7 +108,7 @@
|
|
108
108
|
|
109
109
|
|
110
110
|
|
111
|
-
欲しい結果自体が非正規形のため、まだカラム名を
|
111
|
+
欲しい結果自体が非正規形のため、まだカラム名を年度ごとに指定する必要がありますが、これでだいぶまともなSQLになります。SQLはカラム名を動的に決定することはできません。CASE式と集約関数の利用がポイントです。
|
112
112
|
|
113
113
|
|
114
114
|
|
1
誤字修正
test
CHANGED
@@ -80,7 +80,7 @@
|
|
80
80
|
|
81
81
|
|
82
82
|
|
83
|
-
複雑なうえ、これでは年度や商品が変わる度にSQLを見直す必要がありメンテナンス性が非常に悪いです。テーブル
|
83
|
+
複雑なうえ、これでは年度や商品が変わる度にSQLを見直す必要がありメンテナンス性が非常に悪いです。テーブル自体も毎年カラムの追加が必要でしょう。問題はテーブルが正規化されていないことです。可能であれば売上テーブルを以下のように変更してください。
|
84
84
|
|
85
85
|
|
86
86
|
|