|
NULL при левом соединении |
☑ |
0
Dmitri446
11.01.18
✎
11:30
|
При левом соединении таб1 и таб2 NULL может быть только в таб2? Или в таб1 тоже?
|
|
1
Волшебник
модератор
11.01.18
✎
11:31
|
NULL будет в результате запроса
|
|
2
Вафель
11.01.18
✎
11:32
|
в самих таблицах нул может уже быть изначально
|
|
3
GANR
11.01.18
✎
11:33
|
(0)
|
|
4
Dmitri446
11.01.18
✎
11:35
|
(3)
Внешнее соединение LEFT JOIN означает, что помимо строк, для которых выполняется условие предиката, в результирующий набор попадут все остальные строки из первой таблицы (левой). При этом отсутствующие значения столбцов из правой таблицы будут заменены NULL-значениями.
Т.е NULL будет только в таб2, я правильно понимаю?
|
|
5
FIXXXL
11.01.18
✎
11:37
|
(4) еще раз (1)
|
|
6
GANR
11.01.18
✎
11:44
|
(4) [NULL будет только в таб2] если при левом соединении в таб2 не будет строки соответствующей условию, то в результате запроса таб2.ПолеТаб2 отобразится как NULL. Так понятнее? Попробуй в консоли запросов например привязать к таблице контрагентов левым соединением таблицу РегистрНакопления.Продажи.Обороты - СуммаОборот по контрагентам которым мы ничего не продали отразится как NULL.
|
|
7
Dmitri446
11.01.18
✎
11:53
|
(6) Тогда в поле суммаОборот будет null при левом соединении если не будет найдено строки соответствующей условию соединения. А может ли быть случай когда при левом соединении null будет в полях таб1?
|
|
8
GANR
11.01.18
✎
11:54
|
(7) Только если в Таб1 были NULL-ы ДО соединения. Понятно? А так просто - нет.
|
|
9
Dmitri446
11.01.18
✎
11:56
|
(8) А каким образом null может быть уже изначально в таблице?Можете на примере объяснить?
|
|
10
GANR
11.01.18
✎
11:56
|
(9) скажем, если Таб1 - временная таблица или вложенный запрос
|
|
11
Dmitri446
11.01.18
✎
11:57
|
(10) Ага, понял, спасибо
|
|
12
hhhh
11.01.18
✎
12:02
|
(11) может быть еще, если группа попадает в результат запроса.
например, если справочник Контрагенты, и выводим группу справочника, то Контрагент.ИНН будет NULL
|
|
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан