Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Форм-ие отчета по 3-м таблицам с отношением ключевых полей "1 ко многим" и "многое к 1"  [new]
Horan Deep
Member

Откуда:
Сообщений: 9
Есть 3 таблицы:
1) Таблица 1.
Поля: Код продукции по системе А, Код продукции по системе Б, Кол(табл1)1, Сумма(табл1)1, ..., Кол(табл1) N, ..., Сумма(табл1) N.
2) Таблица 2
Поля: Код продукции по системе А, Кол(табл2)1, Сумма(табл2)1, ..., Кол(табл2) M, ..., Сумма(табл2) M
3) Таблица 3
Поля: Код продукции по системе Б, Кол(табл3)1, Сумма(табл3)1, ..., Кол(табл3) K, ..., Сумма(табл3) K

Все количества и суммы в разных таблицах могут быть не равны друг другу, т.е. по смыслу - это показатели на разных этапах
Код продукции по системе А является по существу идентификатором строки в таблице 2.
Код продукции по ситеме Б повторяется во многих строках.
Т.е. таблица 2 - это отчет с показателями по каждому коду продукции, таблица 3 - это история выполнения транзаций, а таблица 1 содержит сопоставление кодов и свои собственные показатели.

Проблема заключается в соотношении Кодов продукции по системе А и кодов продукции по системе Б.
Встречаются следующие ситуации:
1) Одному коду продукции по системе Б соответствует несколько кодов продукции по сисеме А (нормальная ситуация)
2) Одному коду продукции по системе А соответствует несколько кодов продукции по системе Б - что мешает сделать сводный отчет по всем 3-м таблицам.
3) Одному коду продукции по системе А соответствует один кол продукции по системе Б и наооборот - здесь все нормально

Подскажите пожалуйста способ, каким образом построить отчет по всем трем таблицам так, чтобы не нарушить логику показателей. Необходимо каким то образом разбросать в пропорции показатели Таблицы 2 во второй ситуации и сделать сводный отчет вида:

Код продукции по системе Б, Код продукции по системе А, Кол(табл1)1, Сумма(табл1)1, ..., Кол(табл1) N, ..., Сумма(табл1) N, Кол(табл2)1', Сумма(табл2)1', ..., Кол(табл2) M', ..., Сумма(табл2) M', Кол(табл3)1, Сумма(табл3)1, ..., Кол(табл3) K, ..., Сумма(табл3) K, где показатели с ' - это преобразованные значения таблицы 2.

либо наооборот, разнести показатели таблицы 3, хотя это кажется сложнее.

Можно задачу упростить, сгруппировав все по кодам продукции по системе Б, это в принципе также подойдет, но ситуация 2) остается.
12 июн 12, 15:41    [12702742]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить