m&m
Бьюсь уже сутки, моих знаний mysql явно не хватает..
есть 3 таблицы
в таблице product наименование продукции
productadd приходы
producttask списания
нужно получить таблицу вида, product_id, приход - расход
моих знаний хватило на это
SELECT p.id, p.name, z.SummQty
FROM product p
LEFT JOIN
(
SELECT a.product_id,
SUM(a.qty) - g.SumQty SummQty
FROM productadd a LEFT JOIN (
SELECT product_id, SUM(qty) SumQty
FROM producttask
GROUP BY product_id
) g ON a.product_id = g.product_id
GROUP BY product_id
) z ON z.product_id=p.id
но косяк в том, что если есть приход но нет расхода, то в таблицу данные не попадают (
Mika
m&m писал:
Бьюсь уже сутки, моих знаний mysql явно не хватает..
...
но косяк в том, что если есть приход но нет расхода, то в таблицу данные не попадают (
Пришло время погуглить на тему "SQL different types of joins".
People
SELECT
p.id,
p.name,
(SUM(IFNULL(a.qty, 0)) - SUM(IFNULL(t.qty, 0))) AS balance
FROM product AS p
LEFT JOIN productadd AS a ON a.product_id = p.id
LEFT JOIN producttask AS t ON t.product_id = p.id
GROUP BY p.id;