回答編集履歴
3
追記
answer
CHANGED
@@ -15,10 +15,11 @@
|
|
15
15
|
若しくは、1:多で結合し、条件によって絞り込む
|
16
16
|
```SQL
|
17
17
|
select Date_a,Value_a,Date_b,Value_b
|
18
|
-
FROM table_a JOIN table_b
|
18
|
+
FROM table_a left JOIN table_b
|
19
19
|
ON table_a.Date_a >= table_b.Date_b
|
20
20
|
where table_b.Date_b = (
|
21
21
|
select max(Date_b) from table_b
|
22
22
|
where Date_b <= table_a.Date_a
|
23
23
|
)
|
24
|
+
or table_b.Date_b is null
|
24
25
|
```
|
2
追記
answer
CHANGED
@@ -4,11 +4,21 @@
|
|
4
4
|
SELECT Date_a,Value_a,Date_b,Value_b
|
5
5
|
FROM table_a inner join (
|
6
6
|
select table_a.Date_a, MAX(table_b.Date_b) max_Date_b
|
7
|
-
FROM table_a
|
7
|
+
FROM table_a left join table_b
|
8
8
|
ON table_a.Date_a >= table_b.Date_b
|
9
9
|
group by table_a.Date_a
|
10
10
|
) map
|
11
11
|
on table_a.Date_a=map.Date_a
|
12
|
-
|
12
|
+
left join table_b
|
13
13
|
on map.max_Date_b=table_b.Date_b
|
14
|
+
```
|
15
|
+
若しくは、1:多で結合し、条件によって絞り込む
|
16
|
+
```SQL
|
17
|
+
select Date_a,Value_a,Date_b,Value_b
|
18
|
+
FROM table_a JOIN table_b
|
19
|
+
ON table_a.Date_a >= table_b.Date_b
|
20
|
+
where table_b.Date_b = (
|
21
|
+
select max(Date_b) from table_b
|
22
|
+
where Date_b <= table_a.Date_a
|
23
|
+
)
|
14
24
|
```
|
1
追記
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
table_aとtable_b を1:1で結合するためには、橋渡しする情報を作成する必要があります。
|
1
|
+
table_aとtable_b を1:1で結合するためには、直接の結合が出来ない為、橋渡しする情報を作成する必要があります。
|
2
2
|
|
3
3
|
```SQL
|
4
4
|
SELECT Date_a,Value_a,Date_b,Value_b
|