у меня две таблицы
table_inventory
List item
inventory_rack_key(primarykey)
node_key
rack_id
inventory_item_key
in_coming_qty,locked_qty
quantity
table_item
inventory_item_key(primary key)
item_id,product_zone
Пример таблицы приведен здесь ТАБЛИЦЫ БД Мне нужен запрос, чтобы узнать те элементы, для которых (net_qty) , т. Е. Разница ч / б сумма in_coming_qty
& quantity
& locked_qty
отрицательна.организовано node_key,rack_id, item_id,net_qty
Примечание: каждый отдельный набор {node_key,rack_id, item_id,net_qty}
будет иметь только 1 строку на выходе.Например, :{node_key,rack_id, item_id}
= {ABD101, RK-01,562879} имеет 4 строки в table_inventory , но в выводе net_qty = -78 (одна строка).
Выполненный мной запрося результат, но мы можем сделать это как-то иначе?
SELECT l.node_key,
l.rack_id,
i.item_id,
( SUM(l.quantity + l.in_coming_qty) - SUM(l.locked_qty) ) AS net_qty
FROM table_inventory l,
table_item i
WHERE l.inventory_item_key = i.inventory_item_key
GROUP BY l.node_key,
l.rack_id,
i.item_id
HAVING SUM(l.quantity + l.in_coming_qty) - SUM(l.locked_qty) < 0