2014-09-28 104 views
0

請幫助做出SQL查詢,這裏我有一個表,我有:如何編寫我的SQL查詢?

ID,類型,金額,日期列。

在這裏,我需要已勾選轉換爲DD即ID的我需要選擇ID 1001 & 1004(作爲檢查其換算爲DD - 日期可能是相同的)。

ID  Type  Amount Date 
-------------------------------------- 
1001 Cheque  100 27-09-2014 
1001 DD   200 28-09-2014 
1002 DD   200 28-09-2014 
1003 DD   400 28-09-2014 
1003 Cheque  500 28-09-2014 
1004 Cheque  500 28-09-2014 
1004 DD   500 28-09-2014 
+0

如何 - 當行具有相同的日期,並沒有什麼其他明顯的命令 - 你知道哪個先發生,檢查還是DD? – 2014-09-28 18:01:15

+1

你應該顯示你已經嘗試過的東西,並要求特定的幫助,而不是讓別人爲你解決問題。 – 2014-09-28 18:01:40

+0

您正在使用哪些DBMS? Postgres的?甲骨文? – 2015-08-01 16:26:34

回答

1

如果您需要id s的兩個chequedd,你可以用聚集和having條款這樣做。它認爲這將工作:

select id 
from table t 
group by id 
having min(case when type = 'Cheque' then date end) < min(case when type = 'DD' then date end); 
0

假定表名是TN,試試這個:

SELECT * FROM TN WHERE Type = 'DD' and ID IN (SELECT ID FROM TN WHERE Type = 'Cheque')