0
bvn-2005
06.07.21
✎
21:54
|
Выпускаем Продукцию и используем в качестве Материала на строительстве Объектов.
Таблица 1 - из чего состоит Продукция:
Продукция|Номенклатура|Количество
Таблица 2 - Сколько материала пошло на Объекты:
Объект|Материал|Количество
Материал и Продукция - суть одно и то же (бетоны), но тип данных разный (разные справочники).
Нужно определить, сколько какой Номенклатуры пошло на каждый объект, примерно так:
Объект|Номенклатура|Количество
Из регистров можно вытащить связь между Продукцией и Материалом
Таблица 3
Продукция|Материал
Проблема в том, что связь в таблице 3 не однозначная: одной продукции могут соответствовать несколько материалов и наоборот.
Посоветуйте, как быть? Если просто использовать левое соединение - получу задвоение на много миллионов...
|
|
2
b_ru
06.07.21
✎
22:59
|
Делаешь вспомогательную таблицу 4 (как вложенный запрос или даже как временную таблицу в запросе) в которой получаешь однозначную связь Материал <-> Продукция (В примитивном случае это что-то вроде ВЫБРАТЬ Материал, МАКСИМУМ(Продукция) из Таблица3 ГРУППИРОВАТЬ ПО Материал. Возможно, тебе нужно найти последнюю по дате связь? Тогда связываешь Таблицу4 с запросом к ней же, где находишь максимальную дату по дате)
Ну и затем Таблица2.Материал -> Таблица4 -> Таблица1.Продукция
|
|