我有这个问题:
SELECT phone,
effdate,
enddate
FROM my_table table1
WHERE EXISTS (SELECT *
FROM my_table table2
WHERE table1.phone = table2.phone
AND table1.effdate = table2.effdate
AND table1.enddate <> table2.enddate)
ORDER BY phone,
effdate,
enddate
给了我这个数据:
Phone Effdate End_date
2017937950 10/31/2010 6/30/2011 23:59
2017937950 10/31/2010 4/8/2014 23:59
4054631308 5/9/2008 7/14/2009 23:59
4054631308 5/9/2008 12/31/2099
这没关系,但是当我用手机在桌子上检查时,它们是这样的:
Phone Effdate End_date
2017937950 10/31/2010 6/30/2011 23:59
2017937950 10/31/2010 4/8/2014 23:59
2017937950 5/28/2014 12/31/2099
4054631308 6/15/2005 2/25/2008 23:59
4054631308 5/9/2008 7/14/2009 23:59
4054631308 5/9/2008 12/31/2099
但是根据这些数据我只需要这种电话,因为Effdate和End_date的关联不正确7/14/2009 end_date和5/9/2008 effdate
Phone Effdate End_date
4054631308 5/9/2008 7/14/2009 23:59
4054631308 5/9/2008 12/31/2099
因为像2017937950这样的电话号码有eff_date而end_date是对的。
Phone Effdate End_date
2017937950 10/31/2010 4/8/2014 23:59
2017937950 5/28/2014 12/31/2099
如果你看到这一点,它看起来Effdate和End_date的相关性是正确的4/8/2014 end_date和5/28/2014 Effdate。
我正在使用上面的大查询来过滤掉Phone和Effdate相同而且End_date不同时将数据提供给BUT现在我不知道如何过滤掉那些最相关是正确的eff_date和end_date。 在此先感谢您的帮助。