我有一个表,我试图过滤掉一个奇怪的方法。这是我的表
PHONE EFFDATE ENDDATE
6093852442 8/15/2007 2/2/2008 23:59
**6093852442 5/9/2008 7/14/2009 23:59
6093852442 5/9/2008 12/31/2099**
5745378900 4/10/2012 5/21/2012 23:59
5745378900 2/4/2016 12/31/2099
7173643250 3/24/2008 3/21/2013 23:59
7173643250 3/22/2013 12/31/2099
**3097402606 12/4/2007 1/23/2011 23:59
3097402606 12/4/2007 12/31/2099**
每当Phone和EFFDATE相同且ENDDATE具有不同的值时,它只给出以下数据:
PHONE EFFDATE ENDDATE
6093852442 5/9/2008 7/14/2009 23:59
6093852442 5/9/2008 12/31/2099
3097402606 12/4/2007 1/23/2011 23:59
3097402606 12/4/2007 12/31/2099
请让我知道如何做到这一点。谢谢
答案 0 :(得分:0)
试试这个
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;
我认为**
个字符只表示哪些元素应该在输出中显示。