|
Запрос с проверкой на NULL
| ☑ |
0
tempaccount
10.09.13
✎
13:02
|
Товарищи,
1- Документ А
2- РегистрСведений Б
В регистр сведений Б попадают некие документы А.
Как вывести все Документы А, которые не нашли в РС Б.
Я понимаю что условием будет ЕСТЬ NULL, но мне необходимо связывать таблицы?
Этот запрос выводит все НЕ NULL, т.е. те, которые занесены в Б.
ВЫБРАТЬ
*
ИЗ
РегистрСведений.Б КАК Б
ЛЕВОЕ СОЕДИНЕНИЕ Документ.А КАК А
ПО Б.А = А.Ссылка
|
|
1
butterbean
10.09.13
✎
13:04
|
ВЫБРАТЬ
*
ИЗ
Документ.А КАК А
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Б КАК Б
ПО Б.А = А.Ссылка
ГДЕ Б.А ЕСТЬ NULL
|
|
2
Волшебник
модератор
10.09.13
✎
13:04
|
ВЫБРАТЬ * ИЗ
РегистрСведений.Б КАК Б
ПРАВОЕ СОЕДИНЕНИЕ Документ.А КАК А
ПО Б.А = А.Ссылка
ГДЕ А.Ссылка ЕСТЬ NULL
|
|
3
Rie
10.09.13
✎
13:05
|
(0) Чтобы запрос выводил все НЕ NULL - проверь на НЕ NULL.
|
|
4
1Сергей
10.09.13
✎
13:09
|
(3) ему надо как раз NULL
|
|
5
Rie
10.09.13
✎
13:13
|
(4) Уже осознал :-)
|
|
6
tempaccount
10.09.13
✎
13:40
|
Всем спасибо. Поменял сторону слияния таблиц и все заработало :) (Т.е. Док левое соед РС)
Я так понимаю это эквивалентно РС правое соед Док
|
|
7
Fragster
модератор
10.09.13
✎
13:43
|
Выбрать * Из Док Где Док.Ссылка не в (Выбрать Рег.а Из Рег)
|
|
8
tempaccount
10.09.13
✎
14:15
|
(7) Элегантный вариант. В чем подвох? :)
|
|
9
Fragster
модератор
10.09.13
✎
14:16
|
(8) может быть медленно. а может и не быть.
|
|
10
tempaccount
10.09.13
✎
14:26
|
(9) Спасибо. Интересный вариант буду знать. Правда использую предыдущий, т.к. подозреваю быстрее
|
|
11
Fragster
модератор
10.09.13
✎
14:35
|
|
|