質問するログイン新規登録

質問編集履歴

1

テーブル定義を追記しました。

2020/08/14 00:56

投稿

kswf
kswf

スコア1

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,53 @@
1
+ ```ここに言語を入力
2
+ 入力テーブル
3
+
4
+
5
+ CREATE table INTBL1
6
+ (
7
+ TENCD CHAR(3) NOT NULL,
8
+ SHMKCD CHAR(2) NOT NULL,
9
+ UCWKCD CHAR(4) NOT NULL,
10
+ STIDATE DATE NOT NULL,
11
+ RYUCD CHAR(1) NOT NULL,
12
+ KGK INTEGER ,
13
+ KBN CHAR (1),
14
+ PRIMARY KEY (TENCD, SHMKCD, UCWKCD, STIDATE, RYUCD, KGK)
15
+ );
16
+
17
+ 出力テーブル
18
+ CREATE table OUTTBL1
19
+ (
20
+ SHMKCD CHAR(2) NOT NULL,
21
+ UCWKCD CHAR(4) NOT NULL,
22
+ STIDATE DATE NOT NULL,
23
+ RYUCD CHAR(1) NOT NULL,
24
+ GKIKNS1 INTEGER,
25
+ GKIKGK1 INTEGER ,
26
+ GKIKNS2 INTEGER,
27
+ GKIKGK2 INTEGER ,
28
+ KBN CHAR (1),
29
+ PRIMARY KEY (SHMKCD, UCWKCD,STIDATE)
30
+ );
31
+
32
+
33
+
34
+ SELECT
35
+ SHMKCD,
36
+ UCWKCD,
37
+ STIDATE,
38
+ RYUCD,
39
+ CASE WHEN RYUCD = '1' THEN COUNT(STIDATE) ELSE 0 END,
40
+ CASE WHEN RYUCD = '1' THEN SUM(KGK) ELSE 0 END,
41
+ CASE WHEN RYUCD = '0' THEN COUNT(STIDATE) ELSE 0 END,
42
+ CASE WHEN RYUCD = '0' THEN SUM(KGK) ELSE 0 END,
43
+ CASE WHEN COUNT(KBN = '1') > 0 THEN '1' ELSE '0' END
44
+ FROM INTBL1
45
+ GROUP BY SHMKCD, UCWKCD, STIDATE
46
+ ;
47
+
48
+ エラー
49
+ SQL : 列"intbl1.ryucd"はGROUP BY句で出現しなければならないか、集約関数内で使用しなければなりません
1
- 参照元のテーブル
50
+ ```参照元のテーブル
2
51
  店コード
3
52
  種目コード
4
53
  内訳コード
@@ -27,5 +76,5 @@
27
76
 
28
77
  case when うんたらー then '1' else '0' end
29
78
  とかselect文に書いてたら区分と理由コードはgroup by句で出現しなければならないか、集約関数内で使用しなければなりませんと怒られました。
30
-
79
+ 実際のテーブルは今さわれるところにないので、今てきとうに作りました。間違いがあるかもしれませんがとりあえずはこれでお願いします。
31
80
  dbはpostgresqlです