powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как рассчитать остатки
7 сообщений из 7, страница 1 из 1
Как рассчитать остатки
    #34426129
khl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите идею, пожалста.
Как рассчитать остатки на складе?
Я создал тестовую табличку. В ней 2 товара
Material_id = 0
Material_id = 1

6 накладных:
Приходные (nakl_type_id = 0)
И расходные (nakl_type_id = 1)

Нужно на сервере рассчитать остатки, приход минус расход и просуммировать по каждому материалу.

====================================
Таблица:
CREATE TABLE MATERIALS (
ID BIGINT NOT NULL WITH DEFAULT 0 ,
NAKL_TYPE_ID BIGINT NOT NULL WITH DEFAULT 0 ,
MATERIAL_ID BIGINT NOT NULL WITH DEFAULT 0 ,
PRICE DECIMAL(5,0) NOT NULL WITH DEFAULT 0 ,
QUANTITY DECIMAL(5,0) NOT NULL WITH DEFAULT 0 ,
PRIMARY KEY(ID)
)

И Insert:
Insert into materials (id, nakl_type_id, material_id, price, quantity) values (0, 0, 0, 15, 25);
Insert into materials (id, nakl_type_id, material_id, price, quantity) values (1, 0, 0, 14, 24);
Insert into materials (id, nakl_type_id, material_id, price, quantity) values (2, 0, 1, 13, 23);
Insert into materials (id, nakl_type_id, material_id, price, quantity) values (3, 0, 1, 12, 22);
Insert into materials (id, nakl_type_id, material_id, price, quantity) values (4, 1, 1, 11, 21);
Insert into materials (id, nakl_type_id, material_id, price, quantity) values (5, 1, 1, 10, 20);
...
Рейтинг: 0 / 0
Как рассчитать остатки
    #34426241
Бабичев Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CASE + GROUP BY тебе в помощь
...
Рейтинг: 0 / 0
Как рассчитать остатки
    #34426262
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто раскрываю предыдущий пост
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
select
  sum(case NAKL_TYPE_ID
        with  0  then QUANTITY
        with  1  then -QUANTITY
      end) as QUANTITY,
  MATERIAL_ID
from MATERIALS 
group by MATERIAL_ID
...
Рейтинг: 0 / 0
Как рассчитать остатки
    #34426598
khl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо
...
Рейтинг: 0 / 0
Как рассчитать остатки
    #34456812
khl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите еще, пожалуйста.
Выше приведенный пример.
Как сделать чтобы не отображались строки с нулевым количеством?
т.е что-то типа
Код: plaintext
1.
2.
3.
where sum(case NAKL_TYPE_ID
           when  0  then QUANTITY
           when  1  then -QUANTITY
         end) >  0 

(Синтаксические диаграммы от IBM это ... охренеть можно !)
...
Рейтинг: 0 / 0
Как рассчитать остатки
    #34457327
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не "охренеть".... Having sum() <> 0
...
Рейтинг: 0 / 0
Как рассчитать остатки
    #34457405
khl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин! Точно. Работает.
Спасибо.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как рассчитать остатки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]