Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 получить список кодов из заданного списка, которых нет в таблице  [new]
Ghost Writer
Member

Откуда: Россия
Сообщений: 896
Таким простым запросом можно получить список кодов, которые есть в таблице:

SELECT CODE FROM TBL WHERE CODE IN ("111","222","333", "444", "555", ............., "NNN")


А как наоборот получить список кодов из заданного списка, которых нет в таблице ?
Например, если в таблице нет записей с кодами "222" и "333", то чтобы запрос вернул:
222
333
14 окт 19, 09:46    [21993423]     Ответить | Цитировать Сообщить модератору
 Re: получить список кодов из заданного списка, которых нет в таблице  [new]
Kopelly
Member

Откуда: Красноярск
Сообщений: 289
SELECT a.CODE FROM TBL t
 right join (values ('111'), ('222'), ('333'), ('444'), ('555'), ('NNN')) a(CODE) 
    on t.CODE = a.CODE
 Where t.CODe is null
14 окт 19, 10:13    [21993449]     Ответить | Цитировать Сообщить модератору
 Re: получить список кодов из заданного списка, которых нет в таблице  [new]
Ghost Writer
Member

Откуда: Россия
Сообщений: 896
Kopelly,

мне следовало сразу озвучить версию моего SQL сервера, но я постеснялся ))
версия 8.0 (2000) SP3
Incorrect syntax near the keyword 'values'
14 окт 19, 11:38    [21993531]     Ответить | Цитировать Сообщить модератору
 Re: получить список кодов из заданного списка, которых нет в таблице  [new]
uaggster
Member

Откуда:
Сообщений: 827
Ghost Writer, замените
 (values ('111'), ('222'), ('333'), ('444'), ('555'), ('NNN')) a(CODE) 

На
( Select '111' [code]
UNUON ALL
Select  '222'
UNUON ALL
Select  '333'
UNUON ALL
Select  '444'
UNUON ALL
Select  '555'
UNUON ALL
Select  'NNN'
) a
14 окт 19, 12:27    [21993591]     Ответить | Цитировать Сообщить модератору
 Re: получить список кодов из заданного списка, которых нет в таблице  [new]
Ghost Writer
Member

Откуда: Россия
Сообщений: 896
uaggster, Kopelly,
спасибо за помощь
14 окт 19, 14:32    [21993755]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить