I have the following query:
SELECT
MOVTIPOPRODUTO.ID_ENTIDADE,
ENTIDADE.NOMECLIENTE,
PRODUTO.NOMEPRODUTO,
TIPOPRODUTO.DESCRICAO,
MOVTIPOPRODUTO.ID_PRODUTO,
MOVTIPOPRODUTO.ID_TIPOPRODUTO,
MOVTIPOPRODUTO.ID_SAFRA,
MOVTIPOPRODUTO.ID_LOCALESTOQUE,
MOVTIPOPRODUTO.TIPOLCTO,
SUM(QTDEKG) AS SALDO_KG
FROM MOVTIPOPRODUTO
INNER JOIN PRODUTO ON PRODUTO.ID_PRODUTO = MOVTIPOPRODUTO.ID_PRODUTO
INNER JOIN TIPOPRODUTO ON TIPOPRODUTO.ID_TIPOPRODUTO = MOVTIPOPRODUTO.ID_TIPOPRODUTO
LEFT JOIN ENTIDADE ON ENTIDADE.ID_CLIENTE = MOVTIPOPRODUTO.ID_ENTIDADE
LEFT JOIN PESAGEM ON PESAGEM.REFERENCIA = MOVTIPOPRODUTO.REFERENCIA
WHERE (MOVTIPOPRODUTO.ID_ENTIDADE > 0)
AND ISNULL(MOVTIPOPRODUTO.ID_ENTIDADE, 0) = 88
AND MOVTIPOPRODUTO.CANCELADO = 0
GROUP BY
MOVTIPOPRODUTO.ID_PRODUTO,
MOVTIPOPRODUTO.ID_TIPOPRODUTO,
MOVTIPOPRODUTO.ID_SAFRA,
MOVTIPOPRODUTO.ID_ENTIDADE,
MOVTIPOPRODUTO.ID_LOCALESTOQUE,
PRODUTO.NOMEPRODUTO,
TIPOPRODUTO.DESCRICAO,
ENTIDADE.NOMECLIENTE,
MOVTIPOPRODUTO.TIPOLCTO
ORDER BY PRODUTO.NOMEPRODUTO
It is necessary that depending on the TIPOLCTO
the (SUM(QTDEKG) AS SALDO_KG)
value is subtracted instead of added.
Ex:
- If
TIPOLCTO = 1
, it should add - If
TIPOLCTO = 2
, it should subtract - If
TIPOLCTO = 3
, it should subtract (also) - If
TIPOLCTO = 0
, it should ignore the value
I have tried everything, but I can not understand how it will do it
Today I'm returning the following result:
ID NOME PROD. TIPO PROD. ID1 ID2 ID3 ID4 TIPOLCTO SALDO_KG
88 NOME DO CLIENTE SOJA SOJA INTACTA 1 3 3 1 4 1243997,496
88 NOME DO CLIENTE TRIGO TRIGO TIPO 1 3 4 1 1 4 800265,21
88 NOME DO CLIENTE TRIGO TRIGO TIPO 1 3 4 2 1 4 780134,434
88 NOME DO CLIENTE TRIGO TRIGO TIPO 2 3 5 1 1 4 438133,43
88 NOME DO CLIENTE TRIGO TRIGO TIPO 2 3 5 2 1 4 71170,524
88 NOME DO CLIENTE TRIGO TRIGO TIPO 3 3 6 1 1 2 570,00
88 NOME DO CLIENTE TRIGO TRIGO TIPO 3 3 6 1 1 4 65413,94
I'm currently listing this table in a PHP table, thank you in advance!