|
не работает левое соединение в запросе | ☑ | ||
---|---|---|---|---|
0
FFrr1C
15.12.22
✎
13:43
|
Не пойсу почему работает по принципу левого соединения, а работает по принципу полного запрос
ВЫБРАТЬ РАЗЛИЧНЫЕ ПоручениеЭкспедиторуОснования.Основание КАК РТУ_Ссылка, ПоручениеЭкспедиторуОснования.Ссылка КАК Поруч_Ссылка ПОМЕСТИТЬ ВР_РТУ ИЗ Документ.ПоручениеЭкспедитору.Основания КАК ПоручениеЭкспедиторуОснования ГДЕ ПоручениеЭкспедиторуОснования.Ссылка = &Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВР_РТУ.РТУ_Ссылка КАК РТУ, УведомлениеОбОтгрузкеМДЛП.Ссылка КАК УВ_Ссылка ИЗ ВР_РТУ КАК ВР_РТУ ЛЕВОЕ СОЕДИНЕНИЕ Документ.УведомлениеОбОтгрузкеМДЛП КАК УведомлениеОбОтгрузкеМДЛП ПО ВР_РТУ.РТУ_Ссылка = УведомлениеОбОтгрузкеМДЛП.Основание.Ссылка ГДЕ НЕ УведомлениеОбОтгрузкеМДЛП.ПометкаУдаления Есть 2 реализации(РТУ) в Поручении; на основании одной РТУ - МДЛП есть, на основании другой - нет, соединяем левым РТУ с МДЛП, получаем результат с одной строкой, вторую ссылку РТУ, которая без МДЛП не выводит, а соединение левое стоит! |
|||
1
FFrr1C
15.12.22
✎
13:45
|
когда уже редактировать здесь разрешат)) *..по принципу внутреннего" рабоатет
|
|||
2
1Сергей
15.12.22
✎
13:45
|
Вот это:
ГДЕ НЕ УведомлениеОбОтгрузкеМДЛП.ПометкаУдаления превращает левое соединение во внутреннее |
|||
3
FFrr1C
15.12.22
✎
13:46
|
Опа! а это по какому принципу? можно поподробнее если не сложно?
|
|||
4
НафНаф
15.12.22
✎
13:49
|
(3) вся разница между внутренним и левым соединением как раз в том, что УведомлениеОбОтгрузкеМДЛП.ПометкаУдаления может быть NULL (в случае левого)
но наложив условие: ГДЕ НЕ УведомлениеОбОтгрузкеМДЛП.ПометкаУдаления вы исключили эту разницу - условие с NULL не выполнится |
|||
5
FFrr1C
15.12.22
✎
13:50
|
Спасибо! понятно.
|
|||
6
Chameleon1980
15.12.22
✎
23:25
|
условие на правую таблицу нужно писать в соединении
|
|||
7
ДедМорроз
16.12.22
✎
11:34
|
Если написать ПометкаУдаления <> Истина
Тогда будет работать,как хотели К сожалению НЕ NULL = NULL |
|||
8
НафНаф
16.12.22
✎
11:43
|
(7) смотря куда написать, в условие ГДЕ - не поможет
|
|||
9
1Сергей
16.12.22
✎
11:44
|
(8) +1
|
|||
10
lubitelxml
16.12.22
✎
11:52
|
Правильно будет вот так:
ВЫБРАТЬ ВР_РТУ.РТУ_Ссылка КАК РТУ, УведомлениеОбОтгрузкеМДЛП.Ссылка КАК УВ_Ссылка ИЗ ВР_РТУ КАК ВР_РТУ ЛЕВОЕ СОЕДИНЕНИЕ Документ.УведомлениеОбОтгрузкеМДЛП КАК УведомлениеОбОтгрузкеМДЛП ПО ВР_РТУ.РТУ_Ссылка = УведомлениеОбОтгрузкеМДЛП.Основание.Ссылка И НЕ УведомлениеОбОтгрузкеМДЛП.ПометкаУдаления |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |