Условное IF-выражение T-SQL - PullRequest
       31

Условное IF-выражение T-SQL

2 голосов
/ 04 ноября 2011

У меня есть набор записей, который выглядит следующим образом:

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 Ответ

1 голос
/ 04 ноября 2011

Получите нужные строки из подвыбора и присоединитесь к этому:

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
...