Я использую код ниже: table1-add, table2-remove
SELECT add.description, add.size, (sum(add.qty) - sum(remove.qty)) AS OnHand
`FROM add LEFT JOIN remove ON (add.description = remove.description) AND `(add.size = remove.size)
group by add.description, add.size
OnHand FROM add RIGHT JOIN remove ON (add.description = remove.description) AND
(add.size = remove.size) WHERE add.description IS NULL and add.size is null
group by add.description, add.size;
Моя цель выражена в заголовке.
Я пробовал несколько других подходов, но это несуммировать столбцы перед вычитанием.Вычитается только первая подходящая запись.
Другие подходы:
SELECT add.description, add.size, sum(add.qty) - sum(remove.qty) AS OnHand
FROM add INNER JOIN remove
ON add.description = remove.description
WHERE add.size = remove.size
GROUP BY add.description, add.size;