Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Pabl0 Member Откуда: Сообщений: 265 |
Подскажите как сделать так что бы через in показывалось если записи нет. Я пробовал написать вот так: A.[Type] in (0,11,null) Не работает так, подскажите как правильно. |
6 июн 16, 17:43 [19264196] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
Pabl0, или ISNULL(A.[Type],-999) IN (0,11,-999) или правильнее A.[Type] in (0,11) OR A.[Type] IS NULL |
6 июн 16, 17:45 [19264212] Ответить | Цитировать Сообщить модератору |
Xenix
Guest |
NULL убери из списка |
6 июн 16, 17:46 [19264219] Ответить | Цитировать Сообщить модератору |
Konst_One Member Откуда: Сообщений: 11562 |
https://msdn.microsoft.com/ru-ru/library/ms177682(v=sql.120).aspx Для любых значений NULL, возвращаемых в полях subquery или expression, которые сравниваются со значением test_expression с помощью предложения IN или NOT IN, возвращается результат UNKNOWN. Использование значений NULL с предложениями IN или NOT IN может привести к непредвиденным результатам. |
6 июн 16, 17:46 [19264221] Ответить | Цитировать Сообщить модератору |
Pabl0 Member Откуда: Сообщений: 265 |
А подскажите A.[Type] in (0,11) OR A.[Type] IS NULесли мне записи вообще нету такой в таблице то мне выдаст что ее нету? |
6 июн 16, 17:49 [19264239] Ответить | Цитировать Сообщить модератору |
Konst_One Member Откуда: Сообщений: 11562 |
если условия FALSE , то запрос ничего не вернёт |
6 июн 16, 17:50 [19264254] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8317 |
Pabl0, вернёт список атрибутов согласно запроса, без значений. |
6 июн 16, 18:31 [19264476] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47049 |
Если условие не вернёт TRUE, то запрос ничего не вернёт. |
||
6 июн 16, 19:04 [19264608] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47049 |
то применяя к ней LEFT JOIN с основной таблицей, можно получить NULL для записей, которые могли бы быть, но их нет. |
||
6 июн 16, 19:07 [19264616] Ответить | Цитировать Сообщить модератору |
mfn Member Откуда: Сообщений: 1 |
COALESCE(A.[TYPE], 0) IN (0, 11) |
6 июн 16, 19:10 [19264622] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47049 |
|
||||
6 июн 16, 19:14 [19264638] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |