Объясните смысл запроса: цены послед. поступлений
Здравствуйте
Смотрю в конфе такой кусок:
Вот этот кусок условия не могу понять, что тут происходит:
То есть, соединяют таблицу саму с собой.
Что за значения
МоментВремени ЕСТЬ NULL
Это какие?
И что за сравнение тогда
ЦеныПоступлений.МоментВремени < Отбор.МоментВремени
Если у нас отбор МоментВремени ЕСТЬ NULL
Смотрю в конфе такой кусок:
|ВЫБРАТЬ
| Товары.Ссылка.МоментВремени КАК МоментВремени,
| Товары.Номенклатура КАК Номенклатура
...
|ПОМЕСТИТЬ ЦеныПоступлений
|ИЗ
| Документ.Поступление.Товары КАК Товары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаТовары ПО Товары.Номенклатура = ТаблицаТовары.Номенклатура
|ГДЕ
| Товары.Ссылка.Проведен
| И Товары.Ссылка.Контрагент = &Контрагент
| И Товары.Ссылка.Дата <= &Дата
|;
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ЦеныПоступлений.Номенклатура КАК Номенклатура,
...
|ПОМЕСТИТЬ ЦеныПоследнихПоступлений
|ИЗ
| ЦеныПоступлений КАК ЦеныПоступлений
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ЦеныПоступлений КАК Отбор
| ПО
| ЦеныПоступлений.Номенклатура = Отбор.Номенклатура
| И ЦеныПоступлений.МоментВремени < Отбор.МоментВремени
|ГДЕ
| Отбор.МоментВремени ЕСТЬ NULL;
ПоказатьВот этот кусок условия не могу понять, что тут происходит:
| И ЦеныПоступлений.МоментВремени < Отбор.МоментВремени
|ГДЕ
| Отбор.МоментВремени ЕСТЬ NULL
То есть, соединяют таблицу саму с собой.
Что за значения
МоментВремени ЕСТЬ NULL
Это какие?
И что за сравнение тогда
ЦеныПоступлений.МоментВремени < Отбор.МоментВремени
Если у нас отбор МоментВремени ЕСТЬ NULL
Найденные решения
Все верно.
Пример постройте, и будет понятно.
Возьмите простейшую таблицу из двух строк:
Номен1 19.11.20
Номен1 20.11.20
Теперь левым соединением присоедините ее к себе, итог получится:
ЦеныПоступлений.Номен1 - ЦеныПоступлений.19.11.20 - Отбор.Номен1 - Отбор.20.11.20
ЦеныПоступлений.Номен1 - ЦеныПоступлений.20.11.20 - NULL - NULL
Условием берете последнюю строку и получаете дату последней цены.
Пример постройте, и будет понятно.
Возьмите простейшую таблицу из двух строк:
Номен1 19.11.20
Номен1 20.11.20
Теперь левым соединением присоедините ее к себе, итог получится:
ЦеныПоступлений.Номен1 - ЦеныПоступлений.19.11.20 - Отбор.Номен1 - Отбор.20.11.20
ЦеныПоступлений.Номен1 - ЦеныПоступлений.20.11.20 - NULL - NULL
Условием берете последнюю строку и получаете дату последней цены.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Все верно.
Пример постройте, и будет понятно.
Возьмите простейшую таблицу из двух строк:
Номен1 19.11.20
Номен1 20.11.20
Теперь левым соединением присоедините ее к себе, итог получится:
ЦеныПоступлений.Номен1 - ЦеныПоступлений.19.11.20 - Отбор.Номен1 - Отбор.20.11.20
ЦеныПоступлений.Номен1 - ЦеныПоступлений.20.11.20 - NULL - NULL
Условием берете последнюю строку и получаете дату последней цены.
Пример постройте, и будет понятно.
Возьмите простейшую таблицу из двух строк:
Номен1 19.11.20
Номен1 20.11.20
Теперь левым соединением присоедините ее к себе, итог получится:
ЦеныПоступлений.Номен1 - ЦеныПоступлений.19.11.20 - Отбор.Номен1 - Отбор.20.11.20
ЦеныПоступлений.Номен1 - ЦеныПоступлений.20.11.20 - NULL - NULL
Условием берете последнюю строку и получаете дату последней цены.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот