|
Левое соединение | ☑ | ||
---|---|---|---|---|
0
ejikbeznojek
10.03.15
✎
18:34
|
Всем привет.
Есть запрос по двум справочникам и левое соединение. Почему то отрабатывает как полное. т.е. там где нет деклараций, номенклатуру тоже не выводит ВЫБРАТЬ "Остатки" КАК Раздел, Номенклатура.Ссылка.Родитель КАК Номенклатура, Номенклатура.Наименование, Номенклатура.Размер, Номенклатура.Цвет, Номенклатура.Родитель.Коллекция, Номенклатура.ОсновнаяЕдиница, Номенклатура.Родитель.ВидНоменклатуры, Номенклатура.Ссылка.Родитель.ПоловозрастнойПризнак КАК ПоловозрастнойПризнак, Номенклатура.Родитель.Состав, Номенклатура.Родитель.СтавкаНДС, Номенклатура.Родитель.НомерГТД, Номенклатура.Родитель.КодПроизводителя, Номенклатура.Родитель.Брэнд, Номенклатура.Родитель.БрендДляСайта, Номенклатура.Ссылка, Декларация.Ссылка КАК декларация, Декларация.СтранаПроисхождения, Декларация.Изготовитель, Декларация.ДатаОкончания ИЗ Справочник.Номенклатура КАК Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Декларация КАК Декларация ПО Номенклатура.Родитель = Декларация.Объект ГДЕ Номенклатура.ПометкаУдаления = ЛОЖЬ И Номенклатура.ЭтоГруппа = ЛОЖЬ И Декларация.ПометкаУдаления = ЛОЖЬ |
|||
1
ale-sarin
10.03.15
✎
18:35
|
И Декларация.ПометкаУдаления = ЛОЖЬ
переместить в условия соединения |
|||
2
Господин ПЖ
10.03.15
✎
18:36
|
>И Декларация.ПометкаУдаления = ЛОЖЬ
в соединение |
|||
3
Провинциальный 1сник
10.03.15
✎
18:36
|
(0) "Почему то отрабатывает как полное.
т.е. там где нет деклараций, номенклатуру тоже не выводит " Это называется не полное, а наоборот - внутреннее. |
|||
4
VikingKosmo
10.03.15
✎
18:37
|
наверное потому что
ГДЕ Номенклатура.ПометкаУдаления = ЛОЖЬ И Номенклатура.ЭтоГруппа = ЛОЖЬ И Декларация.ПометкаУдаления = ЛОЖЬ |
|||
5
ejikbeznojek
10.03.15
✎
18:37
|
не совсем пойму как условия в соединения писать (2)
|
|||
6
ejikbeznojek
10.03.15
✎
18:38
|
Просто произвольное?
|
|||
7
ejikbeznojek
10.03.15
✎
18:39
|
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Декларация КАК Декларация ПО Номенклатура.Родитель = Декларация.Объект И (Декларация.ПометкаУдаления = ЛОЖЬ) |
|||
8
VikingKosmo
10.03.15
✎
18:39
|
ИЗ
Справочник.Номенклатура КАК Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Декларация КАК Декларация ПО Номенклатура.Родитель = Декларация.Объект И Декларация.ПометкаУдаления = ЛОЖЬ |
|||
9
ejikbeznojek
10.03.15
✎
18:43
|
Урра!!! Заработало!!
|
|||
10
1976vas
10.03.15
✎
18:45
|
А можно вопрос - почему, от спецов?
|
|||
11
Serginio1
10.03.15
✎
18:49
|
(10) Условие накладывается после соединения.
А сравнение на Null всегда ложь И Декларация.ПометкаУдаления = ЛОЖЬ |
|||
12
Serginio1
10.03.15
✎
18:50
|
Сравнение с NULL всегда ложь
|
|||
13
Serginio1
10.03.15
✎
18:53
|
Вернее https://ru.wikipedia.org/wiki/NULL_(SQL)
Любая операция сравнения с NULL (даже операция «NULL = NULL»), даёт в результате значение «неизвестность» (UNKNOWN). Окончательный результат при этом зависит от полного логического выражения в соответствии с таблицей истинности логических операций. Если сравнение с NULL есть вся логическая операция целиком (а не её часть), то результат её аналогичен FALSE (выражение вида IF <что-то> = NULL THEN <действие1> ELSE <действие2> END IF всегда будет приводить к выполнению действия2). |
|||
14
Serginio1
10.03.15
✎
18:54
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |