Sql 如何获取所有家庭id';配偶日期大于员工日期的情况?

Sql 如何获取所有家庭id';配偶日期大于员工日期的情况?,sql,oracle11g,db2-400,Sql,Oracle11g,Db2 400,表名EE和SP表 Family ID Releation Date Added 101 EE 1/1/2015 101 SP 2/1/2015 102 EE 1/1/2015 102 SP 1/1/2015 103 EE 1/1/2015 103 SP 3/1/2015 您

表名EE和SP表

Family ID   Releation   Date Added
101           EE         1/1/2015
101           SP         2/1/2015
102           EE         1/1/2015
102           SP         1/1/2015
103           EE         1/1/2015
103           SP         3/1/2015

您可以试试这个。

我会使用条件聚合:

select familyid
from eeandsptable
group by familyid
having max(case when relation = 'EE' then DateAdded end) >
       max(case when relation = 'SP' then DateAdded end)

注:这假设给定族的“EE”和“SP”最多有一条记录。它还假设如果其中一个为空,则不需要任何结果。

因此,这里我想通过省略102来获取类似于101103的所有ID。
select familyid
from eeandsptable
group by familyid
having max(case when relation = 'EE' then DateAdded end) >
       max(case when relation = 'SP' then DateAdded end)