У меня есть две таблицы
SQL запрос для добавления значения столбца для сравнения с колонкой
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
В примере таблицы приведены здесь DB TABLES
мне нужно запросить, чтобы узнать те элементы, для которых (net_qty) т.е. разница b/w сумма in_coming_qty
& quantity
& locked_qty
отрицательный. node_key,rack_id, item_id,net_qty
Примечание: каждый отдельный комплект {node_key,rack_id, item_id,net_qty}
будет иметь только 1 рядный выход. Для ex :{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
Почему ваш ответ неприемлем? – mwigdahl
@mwigdahl мой ответ правильный, но есть ли другой способ сделать то же самое. – 2FaceMan
Если у вас нет непосредственной проблемы с вашим текущим решением (например, непоследовательные результаты, слишком медленно и т. Д.), Вы можете рассмотреть возможность размещения на http: // codereview. stackexchange.com/, который предназначен для таких вопросов. –