У меня есть таблица с данными, подобными следующим:
ID Mfgr Primary_Mfgr
a1 Acme P
a1 Bcme S
a1 Ccme S
b1 Acme
b1 Bcme
c1 Acme S
c1 Bcme
d1 Acme
d1 Bcme
Мне нужно создать оператор выбора, который на основе идентификатора вернет запись с P в качестве Primary_Mfgr, если нет Pзапись, затем вернуть пустую запись, если таковых не существует, вернуть первую S-запись.Во всех случаях, если есть дубликаты, верните первый результат.
Поэтому, используя приведенные выше данные, я ожидаю получить следующее из четырех разных запросов:
Запрос для a1:
a1 Acme P
Запрос для b1:
b1 Acme
Запрос для c1:
c1 Bcme
Запрос для d1:
d1 Acme
В каждом случае мне нужновернуть только одну запись.Я не уверен, как я структурировал бы, чтобы сделать это.Например, я могу легко получить обратно все записи «a1», но я не уверен, как бы я написал запрос, который мог бы принять параметр для ID и при всех обстоятельствах вернуть правильную единственную запись.Я использую SQL Server 2008 R2.