2014-06-17 47 views
0

我堅持使用sql查詢,其中column1和column2的關聯方式應該是唯一的。用於將數據檢索爲Column1與第2列相關聯的SQL查詢

Sample Database: 

    ID     Version    Desc    update Date 
    ---    --------    --------   ------- 
    1234     1      xoyz     10/12/2014 
    1234     2      ixyz     10/12/2014 
    1235     1      iuiu     10/12/2014 
    1235     2      popo     10/12/2014 
    1234     3      xypz     10/12/2014 
    1235     3      xyiz     10/12/2014 
    1236     1      xyzu     10/12/2014 
    1235     4      xyzr     10/12/2014 
    1236     2      xyze     10/12/2014 
    1235     5      xyrz     10/12/2014 

我需要一個查詢從表中檢索記錄如下..

ID    Version     Desc   UpdatedDate 

    1234     3      xypz     10/12/2014 
    1235     5      xyrz     10/12/2014 
    1236     2      xyze     10/12/2014 

在簡單的話.. 1號,版本是整數。 Desc,Date is Strings 2.結果(ID,版本)是唯一的。

我需要記錄爲...,ID和它的關聯最大版本與DESC和更新日期

Thanks. 
+0

什麼版本的SQL是你使用? – Siyual

+0

我正在使用DB2數據庫..我不確定SQL版本。 –

回答

0

嘗試使用以下:

Select T.ID, T.Version, T.[Desc], T.[Update Date] 
From Table T 
Join 
(
    Select  ID, Max(Version) CurVersion 
    From  Table 
    Group By ID 
) X On X.ID = T.ID And X.CurVersion = T.Version 
Order By T.ID 
+0

Thats awsome ..謝謝你 –

0

你要彙總查詢。我不知道你正在運行什麼數據庫,但查詢會是這個樣子:

SELECT my_table.'ID', my_table.Version, my_table.'Desc', my_table.UpdatedDate 
FROM my_table INNER JOIN 
(SELECT 'ID', MAX(Version) 
FROM my_table 
GROUP BY 'ID') AS max_version ON 
    my_table.ID = max_version.ID and my_table.Version = max_version.Version 

有這樣做的其他方式,但這應該讓你開始。

要小心,你列出的可能的保留字,並有可能列2需要某種特殊的轉義:IDDesc

+0

你們搖滾.. –