Вот мой SQLMysql Условная сумма
SELECT A.item_code,A.description,A.uom, A.open_stock, B.recd_total, C.issue_qty
FROM chem_master as A
LEFT JOIN (
SELECT item_code, SUM(recd_qty) as recd_total
FROM chem_receipts
GROUP BY item_code) AS B
ON A.item_code=B.item_code
LEFT JOIN(
SELECT item_code, sum(iss_qty) as issue_qty
FROM chem_issue
GROUP BY item_code) as C
ON A.item_code=C.item_code
HAVING (open_stock+recd_total-issue_qty) IS NULL OR (open_stock+recd_total-issue_qty)=0
Здесь таблица chem_receipts & chem_issue не все совпадающие записи в chem_master. Кроме того, может быть несколько совпадающих записей.
Я хочу показать предметы, где есть 0. В chem_master 300 предметов. Но только 15 записей в chem_receipts, так как у нас была дополнительная покупка только в этих 15 предметах. В chem_issue есть 100 записей.
Теперь в запрошенном запросе на предметы, где не производится никакая дополнительная покупка, отображается как NULL & то же самое, когда элемент никогда не выпускается.
Я понимаю, что добавление записей всех элементов с количеством «0» в количестве в таблице выпуска и получения позволит решить проблему. Но это не лучший метод.
Как я могу улучшить этот запрос?
Спасибо, мистер Джонс ... это то, что я хотел сделать. – mansoondreamz