回答編集履歴
4
修正
answer
CHANGED
@@ -53,7 +53,7 @@
|
|
53
53
|
|2016|2|D商品|5000|10000|
|
54
54
|
|
55
55
|
|
56
|
-
欲しい結果自体が非正規形のため、まだカラム名を年度ごとに指定する必要がありますが、これでだいぶまともなSQLになります。
|
56
|
+
欲しい結果自体が非正規形のため、まだ条件やカラム名を年度ごとに指定する必要がありますが、これでだいぶまともなSQLになります。CASE式と集約関数の利用がポイントです。
|
57
57
|
|
58
58
|
|
59
59
|
```SQL
|
3
誤字修正
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
元のテーブルを前提にすると、おそらくこんな感じのSQLにするしかないです(未検証なので
|
1
|
+
元のテーブルを前提にすると、おそらくこんな感じのSQLにするしかないです(未検証なので間違ってるかもしれないけど)。店テーブルはデータが欲しい結果に含まれていないため使用していません。
|
2
2
|
|
3
3
|
|
4
4
|
```SQL
|
2
誤字修正
answer
CHANGED
@@ -53,7 +53,7 @@
|
|
53
53
|
|2016|2|D商品|5000|10000|
|
54
54
|
|
55
55
|
|
56
|
-
欲しい結果自体が非正規形のため、まだカラム名を
|
56
|
+
欲しい結果自体が非正規形のため、まだカラム名を年度ごとに指定する必要がありますが、これでだいぶまともなSQLになります。SQLはカラム名を動的に決定することはできません。CASE式と集約関数の利用がポイントです。
|
57
57
|
|
58
58
|
|
59
59
|
```SQL
|
1
誤字修正
answer
CHANGED
@@ -39,7 +39,7 @@
|
|
39
39
|
店コード = 1
|
40
40
|
```
|
41
41
|
|
42
|
-
複雑なうえ、これでは年度や商品が変わる度にSQLを見直す必要がありメンテナンス性が非常に悪いです。テーブル
|
42
|
+
複雑なうえ、これでは年度や商品が変わる度にSQLを見直す必要がありメンテナンス性が非常に悪いです。テーブル自体も毎年カラムの追加が必要でしょう。問題はテーブルが正規化されていないことです。可能であれば売上テーブルを以下のように変更してください。
|
43
43
|
|
44
44
|
|年度|店コード|商品|売上高|回収高|
|
45
45
|
|--:|--:|--:|--:|--:|
|