2014-10-31 66 views
0

我有一个像SQL其中1列包含两列的某些数据

select * 
from Datatable 
where A in (select A 
      from(subselect Q) 
    and B in (select B from(subselect Q) 

查询但这不会做像我想要的。

在我的结果A和B必须在同一行,但我不知道如何做到这一点。

编辑:

数据表:
KundeVersionID,Zeitpunkt,KundeID
16,2014年8月5日18:31:10.317,10;
17,2013年11月27日16:26:53.980,11

select * from Datatable 
where (Zeitpunkt in (select Zeitpunkt from 
     (select KundeID, MAX(Zeitpunkt) as Zeitpunkt from KundeVersion 
      group by KundeID)As Q) 
     and KundeID in(select KundeID 
      from (select KundeID,MAX(Zeitpunkt) as Zeitpunkt 
      from KundeVersion group by KundeID)As Q)) order by KundeID 

希望这有助于

+7

显示一些示例数据 – 2014-10-31 07:43:35

+0

'subselect Q'与任何方式都与'Datatable'相关? – 2014-10-31 07:46:16

+0

显示样本数据和预期结果。 – Jens 2014-10-31 07:48:28

回答

1

你可以让你的子查询看起来像FROM子句中的表:

select 
    * --TODO - proper column list 
from 
    Datatable dt 
    inner join 
    (select KundeID, MAX(Zeitpunkt) as Zeitpunkt from KundeVersion 
      group by KundeID) q 
    on 
     dt.KundeID = q.KundeID and 
     dt.Zeitpunkt = q.Zeitpunkt 
+0

谢谢,这有助于很多 – glm9637 2014-10-31 08:45:41