|
|
|
Нетривиальная тревиальная задачка
|
|||
|---|---|---|---|
|
#18+
Есть три сущности контракт, заявка, поставка. В рамках контракта может быть несколько заявок, в рамках заявки может быть несколько поставок. Каждая последущая сущность наследует характеристики преведущей. Контракт(характеристики: Товар + много описывающих контракт + факты: Объем и Стоимость по контракту) Заявка (характеристики контракта+пару своих + факты: Объем и Стоимость по заявке) Поставка(характеристики заявки + факты: Объем и Стоимость по поставке) Какие могут быть варианты проектирование таблицы фактов и таблиц измерений, для следующего отчета: Объем по контракту - Обьем по заявке - обьем по поставке. Желательно чтобы sql запрос выбирал все нужные данные из таблицы фактов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2006, 15:09 |
|
||
|
Нетривиальная тревиальная задачка
|
|||
|---|---|---|---|
|
#18+
testuser50Каждая последущая сущность наследует характеристики предыдущей. мдя... это совершенно тривиальныя задача... обычный селект с Group by OrderID из таблицы Поставки и Sum(Сумма по поставке) в одной поставке могут поставляться продукты по разным заявкам>контрактам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2006, 15:31 |
|
||
|
Нетривиальная тревиальная задачка
|
|||
|---|---|---|---|
|
#18+
proposed amendment testuser50Каждая последущая сущность наследует характеристики предыдущей. мдя... это совершенно тривиальныя задача... обычный селект с Group by OrderID из таблицы Поставки и Sum(Сумма по поставке) в одной поставке могут поставляться продукты по разным заявкам>контрактам? 1. спешил))) 2. нет. только по конкретной заявке. можно продемонстрировать запрос??? а то, что-то не совсем понятно? в таблице поставки нет связи с контрактом по которому происходит заявка к соответствующей поставке. т.е. чтобы узнать сколько было поставлено по контракту нужно сделать что-то вроде select * from поставка where поставка.заказ_номер=заказ.заказ_номер и заказ.заказ_контракт_номер=контракт.контракт_номер . т.е. обединение нескольких таблиц(не имеет значение каким оператором group, join) что крайне нежелательно...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2006, 15:53 |
|
||
|
Нетривиальная тревиальная задачка
|
|||
|---|---|---|---|
|
#18+
в таблице поставки нет связи с контрактом по которому происходит заявка к соответствующей поставке так может сделать такую связь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2006, 09:01 |
|
||
|
Нетривиальная тревиальная задачка
|
|||
|---|---|---|---|
|
#18+
gybson в таблице поставки нет связи с контрактом по которому происходит заявка к соответствующей поставке так может сделать такую связь? Зачем? Ведь поставка привязана к контракту только через заявку. Ребят, задача сводиться к проектирования хранилища данных а не БД для хранения транзакций операционной системы, отчет описанный в первом посте, желательно должен быть в виде select объем по контракту, sum (объем по заявке), sum (объем по поставке) from спроектированная таблица фактов where контракт_номер=* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2006, 09:28 |
|
||
|
Нетривиальная тревиальная задачка
|
|||
|---|---|---|---|
|
#18+
testuser50 так может сделать такую связь?[/quot] Зачем? Ведь поставка привязана к контракту только через заявку. Ребят, задача сводиться к проектирования хранилища данных [/quot]Именно поэтому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2006, 10:38 |
|
||
|
Нетривиальная тревиальная задачка
|
|||
|---|---|---|---|
|
#18+
тогда если нет записи в таблице поставок, т.е. контракт уже есть, а поставок по нему еще не было... тогда объем по данному контракту мы не можем выяснить из таблицы поставок.... желательно чтобы все делалось одним запросом а не несколькими.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2006, 11:07 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33986011&tid=1545044]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
154ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 494ms |

| 0 / 0 |
