我坚持使用sql查询,其中column1和column2的关联方式应该是唯一的。
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. ID,版本是整数。描述,日期是字符串 2.结果(ID,版本)是唯一的。
我需要记录为...,ID和它将Max Version与DESC和UPDATE DATE相关联
Thanks.
答案 0 :(得分: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
还有其他方法可以做到这一点,但这应该让你开始。
请注意,您列出的其中两列可能是保留字,可能需要进行某种特殊转义:ID
和Desc
答案 1 :(得分: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