質問編集履歴
3
語彙
test
CHANGED
File without changes
|
test
CHANGED
@@ -62,6 +62,6 @@
|
|
62
62
|
|
63
63
|
|
64
64
|
|
65
|
-
以上、ご教
|
65
|
+
以上、ご教示お願い致します。
|
66
66
|
|
67
67
|
追記しましたのでよろしくお願い致します。
|
2
質問の表記がばらばらであった為、修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,12 +1,6 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
-
以下のようなテーブルで
|
3
|
+
以下のようなテーブルで下記に表示する条件のselect文を作成したいと考えております。
|
4
|
-
|
5
|
-
表示させたいと考えております。
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
4
|
|
11
5
|
sample1
|
12
6
|
|
@@ -34,19 +28,15 @@
|
|
34
28
|
|
35
29
|
上記のような表で
|
36
30
|
|
37
|
-
条件に当てはまったものを
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
以下のresultの列のように表示したいです。
|
31
|
+
条件に当てはまったものを以下のresultの列のように表示したいです。
|
44
32
|
|
45
33
|
con1 = 1 & con2=1 → a行のresultにaのtimeの値とそのほか条件に合致する値を加算し表示
|
46
34
|
|
47
35
|
con1 = 0 & con2=1 → b行のresultにbのtimeの値とそのほか条件に合致する値を加算し表示
|
48
36
|
|
49
37
|
con1 = 0 & con2=0 → c行のresultにcのtimeの値とそのほか条件に合致する値を加算し表示
|
38
|
+
|
39
|
+
以下が結果のテーブルとなります。
|
50
40
|
|
51
41
|
|id|class|time|con1|con2|result|
|
52
42
|
|
@@ -56,34 +46,22 @@
|
|
56
46
|
|
57
47
|
|2|aa|20|1|1||
|
58
48
|
|
59
|
-
|3|b|10|null|null||
|
49
|
+
|3|b|10|null|null|30|
|
60
50
|
|
61
51
|
|4|ba|20|0|1||
|
62
52
|
|
63
|
-
|5|c|10|null|null||
|
53
|
+
|5|c|10|null|null|15|
|
64
54
|
|
65
|
-
|6|ca|
|
55
|
+
|6|ca|5|0|0||
|
66
56
|
|
67
57
|
|6|da|10|1|1||
|
68
58
|
|
69
59
|
|
70
60
|
|
71
|
-
また、
|
72
61
|
|
73
|
-
|
74
|
-
|
75
|
-
### 試したこと
|
76
|
-
|
77
|
-
以下のようなSQL文を流しましたがうまくいかなかったので良い方法があれば宜しくお願い致します。
|
78
|
-
|
79
|
-
``` PL/SQL
|
80
|
-
|
81
|
-
```
|
82
62
|
|
83
63
|
|
84
64
|
|
85
65
|
以上、ご教授お願い致します。
|
86
66
|
|
87
|
-
|
88
|
-
|
89
67
|
追記しましたのでよろしくお願い致します。
|
1
質問の意図が違ったため
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,17 +14,61 @@
|
|
14
14
|
|
15
15
|
|:--|:--:|--:|
|
16
16
|
|
17
|
-
|1|a|10|
|
17
|
+
|1|a|10|null|null|
|
18
18
|
|
19
|
-
|2|a
|
19
|
+
|2|aa|20|1|1|
|
20
20
|
|
21
|
+
|3|b|10|null|null|
|
22
|
+
|
23
|
+
|4|ba|20|0|1|
|
24
|
+
|
25
|
+
|5|c|10|null|null|
|
26
|
+
|
21
|
-
|
|
27
|
+
|6|ca|10|0|0|
|
28
|
+
|
29
|
+
|6|da|10|1|1|
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
### やりたいことと質問が異なっていたので追記させていただきます。
|
34
|
+
|
35
|
+
上記のような表で
|
36
|
+
|
37
|
+
条件に当てはまったものを
|
22
38
|
|
23
39
|
|
24
40
|
|
25
41
|
|
26
42
|
|
43
|
+
以下のresultの列のように表示したいです。
|
27
44
|
|
45
|
+
con1 = 1 & con2=1 → a行のresultにaのtimeの値とそのほか条件に合致する値を加算し表示
|
46
|
+
|
47
|
+
con1 = 0 & con2=1 → b行のresultにbのtimeの値とそのほか条件に合致する値を加算し表示
|
48
|
+
|
49
|
+
con1 = 0 & con2=0 → c行のresultにcのtimeの値とそのほか条件に合致する値を加算し表示
|
50
|
+
|
51
|
+
|id|class|time|con1|con2|result|
|
52
|
+
|
53
|
+
|:--|:--:|--:|
|
54
|
+
|
55
|
+
|1|a|10|null|null|40|
|
56
|
+
|
57
|
+
|2|aa|20|1|1||
|
58
|
+
|
59
|
+
|3|b|10|null|null||
|
60
|
+
|
61
|
+
|4|ba|20|0|1||
|
62
|
+
|
63
|
+
|5|c|10|null|null||
|
64
|
+
|
65
|
+
|6|ca|10|0|0||
|
66
|
+
|
67
|
+
|6|da|10|1|1||
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
また、
|
28
72
|
|
29
73
|
|
30
74
|
|
@@ -34,14 +78,12 @@
|
|
34
78
|
|
35
79
|
``` PL/SQL
|
36
80
|
|
37
|
-
select id, class,
|
38
|
-
|
39
|
-
(case when class = 'a' then (select time where class= 'a') + (select time from where con1='1' and con2='1')
|
40
|
-
|
41
|
-
else time end) from sample1;
|
42
|
-
|
43
81
|
```
|
44
82
|
|
45
83
|
|
46
84
|
|
47
85
|
以上、ご教授お願い致します。
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
追記しましたのでよろしくお願い致します。
|