|
ЛЕВОЕ СОЕДИНЕНИЕ
| ☑ |
0
dGU
11.09.15
✎
14:27
|
Добрый день товарищи!
Не пинайте сильно.
Есть запрос, совсем простой:
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток,
ТоварыНаСкладахОстатки.Склад
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаСреза, ) КАК ТоварыНаСкладахОстатки
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО ТоварыНаСкладахОстатки.Номенклатура = ЗначенияСвойствОбъектов.Объект
ГДЕ
ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
И ЗначенияСвойствОбъектов.Свойство = &Свойство
Вопрос: почему если значение свойства не заполнено по данной номенклатуре (отсутствует запись регистра сведений "Значения свойств объектов"), результат запроса пустой. Ведь вроде как ЛЕВОЕ соединение? Первая таблица все равно должна попасть в результат запроса?
Спасибо.
|
|
1
butterbean
11.09.15
✎
14:28
|
перенеси
И ЗначенияСвойствОбъектов.Свойство = &Свойство
в условие соединения
|
|
2
Кремень
11.09.15
✎
14:28
|
Из за -
ГДЕ
ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
И ЗначенияСвойствОбъектов.Свойство = &Свойство
|
|
3
Sammo
11.09.15
✎
14:29
|
Где превращает левое во внутреннее. Классическая ошибка
|
|
4
боксер
11.09.15
✎
14:29
|
во вложенном запросе отбери свойства по справочнику номенклатуры
|
|
5
ДенисЧ
11.09.15
✎
14:29
|
Потому что ГДЕ по второй таблице превращают левое во внутреннее
|
|
6
Fragster
гуру
11.09.15
✎
14:38
|
потому что NULL <> NULL
|
|
7
dGU
11.09.15
✎
14:44
|
Все заработало, правда не понял почему, пойду проштудирую вопрос. Всем спасибо за помощь, удачных выходных!
|
|
8
Redkiy
11.09.15
✎
14:49
|
тебя же пнули(не сильно) в (5)
|
|