Имя: Пароль:
1C
 
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
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
Ошибка? Это не ошибка, это системная функция.