Кто-то, пожалуйста, измените мой заголовок, чтобы лучше отразить то, что я пытаюсь задать.Выбрать выбор запроса на основе приоритета
У меня есть таблица, как
Table (id, value, value_type, data)
ID
не является уникальным. Не существует уникального ключа.
value_type
имеет два возможных значения, скажем А и Б.
типа B лучше, чем А, но часто не доступны.
Для каждого идентификатора, если какая-либо запись с value_type B существует, я хочу, чтобы все записи с этим идентификатором и value_type B.
Если записи для этого идентификатора с VALUE_TYPE B не существует, я хочу, чтобы все записи с этим идентификатором и value_type А.
Обратите внимание, что если B существует для этого идентификатора я не хочу записей типа A.
в настоящее время я сделать это с помощью серии временных таблиц. Есть ли один оператор select (sub queries OK), который может выполнять эту работу?
Большое спасибо!
Дополнительная информация:
SQL Server 2005
какая версия SQL Server? –
SQL 2005 так «partiton by» доступен мне. Я попытался использовать его, но имел проблему с тем, когда было несколько записей с типом B. – kralco626