0
我有如下表:生成報告
Code State Site Date
----------
x1 2 s1 d1
x2 2 s1 d2
x3 2 s1 d3
x1 3 s2 d4
x2 3 s1 d5
x3 3 s1 d6
x4 2 s2 d7
x5 2 s2 d8
x3 2 s1 d9
----------
(here d1<d2....<d7)
我的目標是做一個彙報(新表),每代碼:
- 對於那些代碼已經在狀態2和3,而日期在狀態2小於日期在狀態3和代碼在同一站點
對於上述表中的結果將是:
Code Date
----------
x2 d2
x3 d3
x2 d5
x3 d6
----------
我想什麼:
Select Code,Date,Site from Transactions where State='2' and Site in
(Select Site from Transactions where State='3')
但這種查詢是不夠的,因爲對於給定的表,它返回:
Code Date
----------
x2 d2
x3 d3
x2 d5
x3 d6
x3 d9
----------
這是不是我想要的excatly因爲在這裏日期D9沒有與狀態3配對,以便該對的D9 < ...
希望這一切都有道理。
如果他們這樣做是否有SQL查詢來實現我的目的?