回答編集履歴

3

追記

2019/02/27 07:18

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -55,3 +55,51 @@
55
55
  on a.aaa=b.bbb
56
56
 
57
57
  ```
58
+
59
+ 追記
60
+
61
+ --
62
+
63
+ ```SQL
64
+
65
+ select list.*
66
+
67
+ , (計 -(select count(*) from T_FIRST_ORDER TFO where TFO.USER_CD = '444444')) *2
68
+
69
+ from (
70
+
71
+ SELECT
72
+
73
+ SUM(CASE WHEN TM.PREFECTURE LIKE 'S%' THEN 1 ELSE 0 END) AS 北海道
74
+
75
+ ,SUM(CASE WHEN TM.PREFECTURE LIKE 'T%' THEN 1 ELSE 0 END) AS 東京
76
+
77
+ ,SUM(CASE WHEN TM.PREFECTURE LIKE 'N%' THEN 1 ELSE 0 END) AS 名古屋
78
+
79
+ ,count(*) as 計
80
+
81
+ FROM
82
+
83
+ T_FIRST_ORDER TFO
84
+
85
+ INNER JOIN T_MANAGER TM
86
+
87
+ ON TFO.ORDER_NO = TM.ORDER_NO
88
+
89
+ WHERE
90
+
91
+ TRUNC(TM.IN_DATE) <= sysdate
92
+
93
+ AND TRUNC(TM.IN_DATE) IS NOT NULL
94
+
95
+ AND(
96
+
97
+ TRUNC(TM.OUT_DATE) >= sysdate
98
+
99
+ OR TRUNC(TM.OUT_DATE) IS NULL
100
+
101
+ )
102
+
103
+ ) list
104
+
105
+ ```

2

修正

2019/02/27 07:18

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -30,8 +30,28 @@
30
30
 
31
31
  ```SQL
32
32
 
33
- select (count(*) - (select count(*) from テーブルB where bbb=a.aaa)) *2
33
+ select a.aaa, (a.cnt - b.cnt)*2
34
34
 
35
+ from (
36
+
37
+ select aaa, count(*) cnt
38
+
35
- from テーブルA a
39
+ from テーブルA
40
+
41
+ group by aaa
42
+
43
+ ) a
44
+
45
+ inner join (
46
+
47
+ select bbb, count(*) cnt
48
+
49
+ from テーブルA
50
+
51
+ group by bbb
52
+
53
+ ) b
54
+
55
+ on a.aaa=b.bbb
36
56
 
37
57
  ```

1

追記

2019/02/27 05:29

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -9,3 +9,29 @@
9
9
  from dual
10
10
 
11
11
  ```
12
+
13
+ とか
14
+
15
+ ```SQL
16
+
17
+ select (
18
+
19
+ count(*) - (select count(*) from テーブルB)
20
+
21
+ ) * 2
22
+
23
+ from テーブルA
24
+
25
+ ```
26
+
27
+
28
+
29
+ テーブル同士の関係がああるなら
30
+
31
+ ```SQL
32
+
33
+ select (count(*) - (select count(*) from テーブルB where bbb=a.aaa)) *2
34
+
35
+ from テーブルA a
36
+
37
+ ```