Выбрать только одну запись из правой таблицы для каждой записи из левой
Всем доброго вечера!
База БП 30, есть 2 временные таблицы, с одинаковыми полями (Номенклатура, Склад, Счет, Количество). Нужно выбрать в результирующую таблицу все строки из левой таблицы и 1 соответствие из правой, если такое найдено.
При выполнение моего запроса строки из левой таблицы дублируются столько раз, сколько совпадений найдено в правой.
Просьба подсказать, как исправить. Заранее спасибо!
Текст запроса:
База БП 30, есть 2 временные таблицы, с одинаковыми полями (Номенклатура, Склад, Счет, Количество). Нужно выбрать в результирующую таблицу все строки из левой таблицы и 1 соответствие из правой, если такое найдено.
При выполнение моего запроса строки из левой таблицы дублируются столько раз, сколько совпадений найдено в правой.
Просьба подсказать, как исправить. Заранее спасибо!
Текст запроса:
"ВЫБРАТЬ
| МинусаСклады.Номенклатура КАК НоменклатураМинус,
| МинусаСклады.Склад КАК СкладПолучатель,
| МинусаСклады.СчетУчета КАК СчетУчетаНовый,
| МинусаСклады.Количество КАК КоличествоМинус,
| ПлюсСклады.Номенклатура КАК НоменклатураПлюс,
| ПлюсСклады.Склад КАК СкладОтправитель,
| ПлюсСклады.СчетУчета КАК СчетУчета,
| ПлюсСклады.Количество КАК КоличествоПлюс
|ИЗ
| МинусаСклады КАК МинусаСклады
| ЛЕВОЕ СОЕДИНЕНИЕ ПлюсСклады КАК ПлюсСклады
| ПО ((ВЫРАЗИТЬ(МинусаСклады.Номенклатура КАК СТРОКА(200))) = (ВЫРАЗИТЬ(ПлюсСклады.Номенклатура КАК СТРОКА(200))))
|ГДЕ
| -МинусаСклады.Количество <= ПлюсСклады.Количество";
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
соединить с запросом, в котором сгруппировать вторую таблицу,
различающиеся поля выбрать по одному из способов:
СУММА(), МИНИМУМ(), МАКСИМУМ(), СРЕДНЕЕ, КОЛИЧЕСТВО
PS если я правильно понимаю, вместо первой таблицы тоже нужно делать такой же запрос
различающиеся поля выбрать по одному из способов:
СУММА(), МИНИМУМ(), МАКСИМУМ(), СРЕДНЕЕ, КОЛИЧЕСТВО
PS если я правильно понимаю, вместо первой таблицы тоже нужно делать такой же запрос
Запросами такое решается сложно, выше было правильное решение про группировку (только потребуется группировать по группирующим наборам и платформа выше какой-то).
Но, может, сделать итоги по выборке из левой таблицы, а потом уже обходя результат выборки по группировкам ьрать не цикл а только Если Выборка. Следующий() для вложенной выборки?
Но, может, сделать итоги по выборке из левой таблицы, а потом уже обходя результат выборки по группировкам ьрать не цикл а только Если Выборка. Следующий() для вложенной выборки?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот