2014-10-31 70 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