質問編集履歴

3

修正

2019/02/27 07:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -22,9 +22,13 @@
22
22
 
23
23
  ON A.aaa = B.bbb
24
24
 
25
+ ```
25
26
 
26
27
 
28
+
29
+ 追記
30
+
27
- ```oracle
31
+ ```オラクル
28
32
 
29
33
  SELECT
30
34
 

2

修正

2019/02/27 07:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -23,20 +23,6 @@
23
23
  ON A.aaa = B.bbb
24
24
 
25
25
 
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
- 追記
34
-
35
- 取得したいのは 北海道の数、東京の数、名古屋の数、そして全部の数からUSER_CDが444444以外の数を取得して2をかけたいです。
36
-
37
- , (select count(*) - (select count(*) from T_FIRST_ORDER TFO where TFO.USER_CD = '444444'))AS 合計の文を抜けば北海道、東京、名古屋は取得できるのですが、この全体からUSER_CDのカラム数を引いた文を入れるとエラーになってしまいます。
38
-
39
- 書き方がおかしいと思うのですが何がおかしいのかわかりません。
40
26
 
41
27
  ```oracle
42
28
 
@@ -73,3 +59,9 @@
73
59
  );
74
60
 
75
61
  ```
62
+
63
+ 取得したいのは 北海道の数、東京の数、名古屋の数、そして全部の数からUSER_CDが444444以外の数を取得して2をかけたいです。
64
+
65
+ , (select count(*) - (select count(*) from T_FIRST_ORDER TFO where TFO.USER_CD = '444444'))AS 合計の文を抜けば北海道、東京、名古屋は取得できるのですが、この全体からUSER_CDのカラム数を引いた文を入れるとエラーになってしまいます。
66
+
67
+ 書き方がおかしいと思うのですが何がおかしいのかわかりません

1

修正

2019/02/27 06:58

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -21,3 +21,55 @@
21
21
  LEFT JOIN B
22
22
 
23
23
  ON A.aaa = B.bbb
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+ 追記
34
+
35
+ 取得したいのは 北海道の数、東京の数、名古屋の数、そして全部の数からUSER_CDが444444以外の数を取得して2をかけたいです。
36
+
37
+ , (select count(*) - (select count(*) from T_FIRST_ORDER TFO where TFO.USER_CD = '444444'))AS 合計の文を抜けば北海道、東京、名古屋は取得できるのですが、この全体からUSER_CDのカラム数を引いた文を入れるとエラーになってしまいます。
38
+
39
+ 書き方がおかしいと思うのですが何がおかしいのかわかりません。
40
+
41
+ ```oracle
42
+
43
+ SELECT
44
+
45
+ SUM(CASE WHEN TM.PREFECTURE LIKE 'S%' THEN 1 ELSE 0 END) AS 北海道
46
+
47
+ ,SUM(CASE WHEN TM.PREFECTURE LIKE 'T%' THEN 1 ELSE 0 END) AS 東京
48
+
49
+ ,SUM(CASE WHEN TM.PREFECTURE LIKE 'N%' THEN 1 ELSE 0 END) AS 名古屋
50
+
51
+ , (select count(*) - (select count(*) from T_FIRST_ORDER TFO where TFO.USER_CD = '444444'))AS 合計
52
+
53
+ FROM
54
+
55
+ T_FIRST_ORDER TFO
56
+
57
+ INNER JOIN T_MANAGER TM
58
+
59
+ ON TFO.ORDER_NO = TM.ORDER_NO
60
+
61
+ WHERE
62
+
63
+ TRUNC(TM.IN_DATE) <= sysdate
64
+
65
+ AND TRUNC(TM.IN_DATE) IS NOT NULL
66
+
67
+ AND(
68
+
69
+ TRUNC(TM.OUT_DATE) >= sysdate
70
+
71
+ OR TRUNC(TM.OUT_DATE) IS NULL
72
+
73
+ );
74
+
75
+ ```