2014-09-28 53 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')