Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как составить оптимальный запрос? [D5, IB6.x]


Страницы:   1 2

Lika ©   (2004-08-11 11:43:00) 

Есть одна таблица в которой хранится приход товара и расход товара т.е состоит из полей "код товара", "кол-во", "цена"... и есть поле "тип" в котором, если значение =0, то это приход, если начение =1, то это расход. Нужно найти остатки товаров. Подскажите самый оптимальный способ это сделать, может запросом или несколькими, а может еще как?


stas_x   (2004-08-11 12:21:00) [21]

Sergey13 ©   (11.08.04 12:17) [4]
давало бы нужный результат. Можно свою фунцию написать для возврата -1 и 1 из 1 и 0.

Илм Update сделать. У меня так же работает склад только 1 и -1 и нет никаких проблем !


Sergey13   (2004-08-11 12:17:00) [22]

Если бы тип имел значения -1 и 1 то
select tovar,sum(kol*tip) from table
group by tovar
давало бы нужный результат. Можно свою фунцию написать для возврата -1 и 1 из 1 и 0.


Sandman25   (2004-08-11 12:17:00) [23]

В хранимой процедуре. Это если нужно по конкретному товару.
Если нужно по всем товарам, то будут проблемы, ибо не поддерживается ни case, ни iif. Скорость резко упадет.


Lika   (2004-08-11 12:10:00) [24]

А можно поподробнее. Сделать два запроса в первом весь приход по каждому товару, а во втором расход. А как потом проанализировать и вычесть? В цикле?


Sandman25   (2004-08-11 11:47:00) [25]

Оптимальный способ - триггер и дополнительная табица.
А вообще для IB6 можно через
select sum(..) from ... where приход
и
select sum(..) from ... where расход
Результаты проанализировать на null и вычесть.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо