|
|
|
Помогите пожалуйста с запросом.
|
|||
|---|---|---|---|
|
#18+
Задача: есть табличка: Id:int,R1:Int,Sum:Decimal. В ней есть строки с Id=1 и Id=2. Назовем эти множества А и Б. Нужно к полю Sum множества Б добавить значение из А для R1(A)=R1(Б). Затем в множество Б добавить "недостающие" строки из А . Пример: Id, R1, Sum 1 5 1 1 6 7 2 6 3 Результат: Id, R1, Sum 1 5 1 1 6 7 2 5 1 - добавлена строка 2 6 10 - произведено сложение (7+3) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2003, 14:15 |
|
||
|
Помогите пожалуйста с запросом.
|
|||
|---|---|---|---|
|
#18+
Задача совершенно не ясна. Не могли бы Вы привести здесь DDL, sample data, result sets? В приведённом пояснении неясно следующее: Есть ли у таблицы ключи (первичный, внешние)? id может принимать ТОЛЬКО значения 1 и 2? По полю SUM нужна сумма "нарастающим итогом" по значениям R1? Надо ли при этом читывать "добавленные" строки? Каков алгоритм "добавления" строк? Возможна ли ситуация, когда есть только значения для Id = 2? Если есть, то что с ними делать? Включать в результат или нет? И вообще - какова цель всех этих танцев с бубном? Какая задача (бизнес-задача) решается? Может что-нибудь в консерватории (постановке) поменять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2003, 14:48 |
|
||
|
Помогите пожалуйста с запросом.
|
|||
|---|---|---|---|
|
#18+
Попробую объяснить с другого конца. С консерватории. Есть две таблицы: движение товара и остатки на конец каждого месяца. При приходе/расходе делается движение в первую таблицу и меняется остаток во второй. Я хочу для случая, если произойдет какой-либо сбой по значениям первой таблицы восстановить вторую. В моей постановке R1 - код товара, Sum - его остаток, Id - номер месяца. На первом этапе восстановления остатков я занес в таблицу итогов обороты за каждый месяц. Теперь я хочу пройти по итогам, начиная с первого месяца и в каждый последующий добавить недостающие товары, а также высчитать правильную сумму остатка. Прошу прощения за туманность постановки задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2003, 15:00 |
|
||
|
Помогите пожалуйста с запросом.
|
|||
|---|---|---|---|
|
#18+
Уже лучше. А теперь желательно определение таблиц (DDL) со всеми значимыми для задачи полями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2003, 15:55 |
|
||
|
Помогите пожалуйста с запросом.
|
|||
|---|---|---|---|
|
#18+
В упрощенном виде возвращаемся к старому: Таблица движений: DataDoc TimeStamp - дата/время движения, R1 Integer - код товара, Sum Decimal(12,3) - остаток Таблица итогов: Id Integer - номер месяца, R1 Integer - код товара, Sum Decimal(12,3) - остаток В таблице запросов я уже положил обороты за месяц. Теперь для первого месяца обороты являются остатками. Надо обороты за следующие месяца преобразовать в остатки. Я думал обойтись без ХП, но судя по всему не получится. Наверное стоит свернуть обсуждение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2003, 16:16 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32256042&tid=1580018]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
200ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 553ms |

| 0 / 0 |
