T-SQL条件IF语句

时间:2011-11-03 20:32:13

标签: sql sql-server sql-server-2005 sql-server-2008 tsql

我有一个看起来像这样的记录集:

DocID(主键)|版本|名称
4 | 1 | FileNameA
8 | 2 | FileNameA
6 | 1 | FileNameB
3 | 1 | FileNameC

我需要做的只是显示版本号大于1的唯一文件名。

所以我需要一个SQL查询来返回一个如下所示的记录集:

DocID(主键)|版本|名称
8 | 2 | FileNameA
6 | 1 | FileNameB
3 | 1 | FileNameC

我现在使用的是我桌子上的基本选择语句。我不确定这是否可行。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

从子选择中获取所需的行并加入:

SELECT DocID, Version, Name
FROM MyTable t
INNER JOIN (SELECT Name, MAX(Version) as Version
            FROM MyTable
            GROUP BY Name) sub
  ON Sub.name = t.name
  AND sub.version = t.version