3
我需要選擇最低一組跨越兩個表的日期和我的SQL是如此的生疏,我不能想......選擇最低加入
我有一個表與一些業務對象:
create table FOO (
FOO_ID number(19, 0) not null,
BAR varchar2(255),
primary key (FOO_ID)
);
有零或一對多此業務對象日期:
create table A_DATES (
FOO_ID number(19, 0) not null,
A_DATE date not null,
primary key (FOO_ID , A_DATE)
);
還有另一套零或一對多的日期相同的業務對象:
create table B_DATES (
FOO_ID number(19, 0) not null,
B_DATE date not null,
primary key (FOO_ID , B_DATE)
);
foo表包含:
+------+--------+
|FOO_ID|A_STRING|
+------+--------+
|1 |aaa |
|2 |bbb |
|3 |ccc |
+------+--------+
的A_DATES表包含:
+------+-----------+
|FOO_ID|A_DATE |
+------+-----------+
|1 |01-Jan-2001|
|1 |01-Jan-2002|
|2 |01-Jan-2003|
|2 |01-Jan-2004|
+------+-----------+
的B_DATES表包含:
+------+-----------+
|FOO_ID|B_DATE |
+------+-----------+
|1 |01-Jan-2003|
|1 |01-Jan-2004|
|2 |01-Jan-2001|
|2 |01-Jan-2002|
+------+-----------+
我必須寫一個選擇(所以沒有臨時表等),它爲每個FOO選擇兩組日期中的最小值,如果有的話。結果集應該是這樣的:
+------+--------+-----------+
|FOO_ID|A_STRING|MY_DATE |
+------+--------+-----------+
|1 |aaa |01-Jan-2001|
|2 |bbb |01-Jan-2001|
|3 |ccc |<null> |
+------+--------+-----------+
我需要一組由添加到工會的各佔一半,但在其他方面,一個很好的答案,快速 –
對此深感抱歉 - 添加它到解決方案的完整性 –