Bom dia! Estou tentando fazer um IF simples dentro do select, mas não estou conseguindo, não sei onde pode estar o erro.
Esse é o código que estou utilizando:
SELECT P.CdVend, LEFT(REPLACE(SUM(P.TotPed),'.',','),8)TOTAL_VENDAS, IF(PEDCANCSIT.PEDSIT IS NULL, SUM(P.TotPed),SUM(P.TotPed) - PEDCANCSIT.PEDSIT)
FROM PedSai P
INNER JOIN Func F ON (P.CdVend = F.CdUsuario)
LEFT JOIN (
SELECT CDVEND, COUNT(NrPed)CONT_PED_SIT, SUM(TOTPED)PEDSIT
FROM PedSai
WHERE CAST(DtPed AS DATE) = CAST(DtCancelamento AS DATE) AND CAST(DtCancelamento AS DATE) BETWEEN '2018-01-01' AND '2018-01-31'
GROUP BY CDVEND
) PEDCANCSIT ON (P.CdVend = PEDCANCSIT.CdVend)
WHERE CAST(DtPed AS DATE)BETWEEN '2018-01-01' AND '2018-01-31' AND DtLibFin IS NOT NULL
GROUP BY P.CdVend, PEDCANCSIT.PEDSIT
E o erro que está me apresentando é esse:
Mensagem 156, Nível 15, Estado 1, Linha 1
Incorrect syntax near the keyword 'IF'.
Mensagem 102, Nível 15, Estado 1, Linha 1
Incorrect syntax near ','.
Mensagem 102, Nível 15, Estado 1, Linha 9
Incorrect syntax near 'PEDCANCSIT'.
É um caso simples, se houver cancelamento, ele deverá subtrair do total.
Desde já agradeço.