回答編集履歴

3

誤答の削除

2019/03/07 07:24

投稿

yorozuya
yorozuya

スコア1067

test CHANGED
@@ -1,25 +1,3 @@
1
- ~こんな感じかな。
2
-
3
-
4
-
5
- SELECT 親ID
6
-
7
- , FIRST_VALUE(件名) OVER(PARTITION BY 親ID, ORDER BY No DESC) 件名
8
-
9
- , MAX(CASE No WHEN 0 THEN 状態 END) 0
10
-
11
- , MAX(CASE No WHEN 1 THEN 状態 END) 1
12
-
13
- , MAX(CASE No WHEN 2 THEN 状態 END) 2
14
-
15
- , MIN(処理開始日) 処理開始日
16
-
17
- FROM 案件B一覧Table
18
-
19
- GROUP BY 親ID~
20
-
21
-
22
-
23
1
  今度はいかがでしょう。
24
2
 
25
3
 

2

取り消し線修正

2019/03/07 07:24

投稿

yorozuya
yorozuya

スコア1067

test CHANGED
@@ -1,4 +1,4 @@
1
- ~~こんな感じかな。
1
+ ~こんな感じかな。
2
2
 
3
3
 
4
4
 
@@ -16,7 +16,7 @@
16
16
 
17
17
  FROM 案件B一覧Table
18
18
 
19
- GROUP BY 親ID~~
19
+ GROUP BY 親ID~
20
20
 
21
21
 
22
22
 

1

(親ID, No)=(C1,2)のように複数の状態がある時 に対応しました。

2019/03/07 07:23

投稿

yorozuya
yorozuya

スコア1067

test CHANGED
@@ -1,4 +1,4 @@
1
- こんな感じかな。
1
+ ~~こんな感じかな。
2
2
 
3
3
 
4
4
 
@@ -16,4 +16,38 @@
16
16
 
17
17
  FROM 案件B一覧Table
18
18
 
19
- GROUP BY 親ID
19
+ GROUP BY 親ID~~
20
+
21
+
22
+
23
+ 今度はいかがでしょう。
24
+
25
+
26
+
27
+ SELECT Q.親ID, Q.件名
28
+
29
+ , MAX(CASE Q.No WHEN 0 THEN Q.状態 END) "0"
30
+
31
+ , MAX(CASE Q.No WHEN 1 THEN Q.状態 END) "1"
32
+
33
+ , MAX(CASE Q.No WHEN 2 THEN Q.状態 END) "2"
34
+
35
+ , MIN(Q.処理開始日) 処理開始日
36
+
37
+ FROM (
38
+
39
+ SELECT T.親ID, T.No
40
+
41
+ , FIRST_VALUE(T.件名) OVER(PARTITION BY T.親ID ORDER BY T.状態更新日 DESC) 件名
42
+
43
+ , FIRST_VALUE(T.状態) OVER(PARTITION BY T.親ID, T.No ORDER BY T.状態更新日 DESC) 状態
44
+
45
+ , MIN(T.処理開始日) 処理開始日
46
+
47
+ FROM 案件B一覧Table T
48
+
49
+ GROUP BY T.親ID, T.No
50
+
51
+ ) Q
52
+
53
+ GROUP BY Q.親ID, Q.件名