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> |
+------+--------+-----------+
我需要一组由添加到工会的各占一半,但在其他方面,一个很好的答案,快速 –
对此深感抱歉 - 添加它到解决方案的完整性 –