Java 将数据检索为与列2关联的列1的SQL查询

Java 将数据检索为与列2关联的列1的SQL查询,java,sql,associations,Java,Sql,Associations,我研究了一个sql查询,其中column1和column2的关联方式应该是唯一的 Sample Database: ID Version Desc update Date --- -------- -------- ------- 1234 1

我研究了一个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和它的关联与描述和更新日期最大版本

  Thanks.

您需要一个聚合查询。我不知道您正在运行哪个数据库,但查询将如下所示:

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列可能是保留字,可能需要某种特殊转义:ID和Desc请尝试使用以下命令:

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

您使用的是什么版本的SQL?我使用的是DB2数据库。。我不确定SQL版本。