Выбрать только одну запись из правой таблицы для каждой записи из левой

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

PS если я правильно понимаю, вместо первой таблицы тоже нужно делать такой же запрос
5. one_strannik 1 05.02.24 20:09 Сейчас в теме
(2)
в котором сгруппировать вторую таблицу,
различающиеся поля выбрать по одному из способов:


В таком случае, разве одна и та же запись не попадет в соответствие разным (возможно содержащим одинаковую номенклатуру) записям левой таблицы?
3. -AI- 05.02.24 18:51 Сейчас в теме
другой вариант:

объединить две таблицы через ОБЪЕДИНИТЬ ВСЕ
и сгруппировать и просуммировать...
4. one_strannik 1 05.02.24 19:07 Сейчас в теме
В левой таблице значения Номенклатуры повторяются, для каждого из них нужно выбрать 1 значение из правой (без повторений значений для правой таблицы)
6. Sander80 82 05.02.24 20:31 Сейчас в теме
Запросами такое решается сложно, выше было правильное решение про группировку (только потребуется группировать по группирующим наборам и платформа выше какой-то).
Но, может, сделать итоги по выборке из левой таблицы, а потом уже обходя результат выборки по группировкам ьрать не цикл а только Если Выборка. Следующий() для вложенной выборки?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот