My teacher did the following query to show the total quantity of stock of each product, however I did not quite understand how it does to generate the total inventory quantity of each product, follows the query:
SELECT SUM
(ret.quantidade) AS quantidade,
ret.nome_produto,
ret.id_produto,
ret.preco
FROM
(
SELECT SUM
(p.quantidade) AS QUANTIDADE,
p.tipo_registro,
p.id_produto,
c.nome AS nome_produto,
c.preco
FROM
estoque p
JOIN
administrador u ON u.id_admin = p.id_admin
JOIN
cadastro_produtos c ON c.id_produto = p.id_produto
WHERE
p.tipo_registro = 'entrada'
GROUP BY
p.tipo_registro,
p.id_produto,
c.nome,
c.preco
UNION
SELECT
- SUM(p.quantidade) AS QUANTIDADE,
p.tipo_registro,
p.id_produto,
c.nome AS nome_produto,
c.preco
FROM
estoque p
JOIN
administrador u ON u.id_admin = p.id_admin
JOIN
cadastro_produtos c ON c.id_produto = p.id_produto
WHERE
p.tipo_registro = 'saida'
GROUP BY
p.tipo_registro,
p.id_produto,
c.nome,
c.preco
) ret
GROUP BY
ret.nome_produto,
ret.id_produto,
ret.preco
ORDER BY
ret.id_produto