我有表,我想查找特定時間間隔(DATE是SQL查詢的輸入參數)的重複行,它將列出具有相同PERSON和TYPE值的所有行。SQL SELECT從表中重複特定時間間隔的行
ID DATE PERSON TYPE
1 01.01.2017 PERSON1 TYPE1
2 02.02.2017 PERSON1 TYPE1
3 03.03.2017 PERSON2 TYPE1
4 04.04.2017 PERSON2 TYPE2
5 05.05.2017 PERSON2 TYPE1
6 06.06.2017 PERSON1 TYPE2
因此,舉例來說,如果日期是01.01 and 04.04
之間應列出我行與ID 1 and 2.
如果DATE 01.01 and 06.06
之間應列出我行與ID 1, 2, 3
and 5
,因爲1和2有相同的人並鍵入間隔和3和5在該間隔中具有相同的人和類型。
SELECT ID FROM TABLE
WHERE DATE>='01.01.2017' AND DATE<='06.06.2017'
但我不確定如何開始基於PERSON和TYPE列定義此重複子句。 也許可以INNER JOIN幫助這個,如果引用同一個表並且匹配那兩列和第三列ID是不同的?:TABLE.PERSON=TABLE.PERSON and TABLE.TYPE=TABLE.TYPE and TABLE.ID!=TABLE.ID
當然表是相同的,但是可以使用不同的別名?
我已經更新了我的答案。 – toonice