下記の画像の様な表を出力するに当たり、Excelで泥臭く作業をするのではなくSQLで出力したいと思います。
ご教示宜しく御願い致します。
<DDL> CREATE TABLE Bunseki ( nengetsu CHAR(6) NOT NULL, name CHAR(3) NOT NULL, rank1 CHAR(2) NOT NULL, rank2 CHAR(2) , kosu number ); <INSERT> INSERT INTO Bunseki VALUES ('201904', 'AAA', '01','04',1); INSERT INTO Bunseki VALUES ('201904', 'AAA', '02','04',2); INSERT INTO Bunseki VALUES ('201904', 'AAA', '03','04',3); INSERT INTO Bunseki VALUES ('201904', 'AAA', '04','04',3); INSERT INTO Bunseki VALUES ('201905', 'AAA', '05','09',4); INSERT INTO Bunseki VALUES ('201905', 'AAA', '06','09',5); INSERT INTO Bunseki VALUES ('201905', 'AAA', '07','09',6); INSERT INTO Bunseki VALUES ('201905', 'AAA', '08','09',7);
<作成途中SQL>
SELECT nengetsu ,name ,rank1 ,rank2 ,sum(kosu) AS KOSU FROM Bunseki GROUP BY GROUPING SETS((nengetsu,name,rank1),(nengetsu,name,rank2)) ORDER BY nengetsu,name,rank1,rank2
コードは https://teratail.com/help/question-tips#questionTips3-7 の [コード] に修正してください。
数値は numeric でも宣言できたでしょうけど、一般的には number型を使います。 COBOLをやっていたチームだけnumeric でテーブルを定義していたのを number型に直してもらったこともあります。
月度って何でしょうか? 2019年4月から2020年3月までを2019年度というのは一般的かとは思いますが。(例外はありそうです)
単純に nengetsu 年月で良さそうな気がします。
丸投げはこの掲示板では非推奨なので、間違っていても良いから今考えられるSELECT文を提示ください。
回答1件
あなたの回答
tips
プレビュー

