回答編集履歴
3
修正
answer
CHANGED
@@ -4,8 +4,9 @@
|
|
4
4
|
質問のSELECTを、患者コードと基準日でgroup by して件数が5件以上のものを条件にする。
|
5
5
|
```SQL
|
6
6
|
select *
|
7
|
-
|
7
|
+
FROM A a
|
8
|
+
LEFT JOIN B b ON a.患者コード = b.患者コード AND a.測定日 >= b.基準日
|
8
|
-
where (患者コード, 基準日) in (
|
9
|
+
where (a.患者コード, b.基準日) in (
|
9
10
|
select 患者コード, max_基準日
|
10
11
|
from (
|
11
12
|
-- 質問のSELECT
|
2
修正
answer
CHANGED
@@ -6,15 +6,15 @@
|
|
6
6
|
select *
|
7
7
|
from A
|
8
8
|
where (患者コード, 基準日) in (
|
9
|
-
select 患者コード, 基準日
|
9
|
+
select 患者コード, max_基準日
|
10
10
|
from (
|
11
11
|
-- 質問のSELECT
|
12
|
-
SELECT a.患者コード,MAX(b.基準日) as 基準日,a.測定日
|
12
|
+
SELECT a.患者コード,MAX(b.基準日) as max_基準日,a.測定日
|
13
13
|
FROM A a
|
14
14
|
LEFT JOIN B b ON a.患者コード = b.患者コード AND a.測定日 >= b.基準日
|
15
15
|
GROUP BY a.患者コード,a.測定日
|
16
16
|
) b
|
17
|
-
group by 患者コード, 基準日
|
17
|
+
group by 患者コード, max_基準日
|
18
18
|
having count(*) >= 5
|
19
19
|
)
|
20
20
|
```
|
1
訂正
answer
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
select 患者コード, 基準日
|
10
10
|
from (
|
11
11
|
-- 質問のSELECT
|
12
|
-
SELECT a.患者コード,MAX(b.基準日) as 基準日,a.測定日
|
12
|
+
SELECT a.患者コード,MAX(b.基準日) as 基準日,a.測定日
|
13
13
|
FROM A a
|
14
14
|
LEFT JOIN B b ON a.患者コード = b.患者コード AND a.測定日 >= b.基準日
|
15
15
|
GROUP BY a.患者コード,a.測定日
|