Sql 如何获取所有家庭id';配偶日期大于员工日期的情况?
表名EE和SP表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 您
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)