Bom dia, pessoal.
Estou efetuando o select abaixo:
SELECT
F.NOPE AS CFOP,
F.NFISCAL AS NDOC,
F.DATA AS DEMI,
F.PERC_ICMS,
F.PERC_IPI,
F.PERC_PIS,
F.PERC_COFINS,
sum(
CASE
WHEN F.TNOTA = 'E' THEN abs(F.TOTAL_VENDIDO + coalesce(F.VR_IPI, 0))
ELSE (F.TOTAL_VENDIDO + coalesce(F.VR_IPI, 0))
END
) AS VR_CONTABIL,
sum(F.VR_BC_ICMS) AS VR_BCICMS,
sum(
CASE
WHEN F.TNOTA = 'E' THEN F.VR_ICMS
ELSE (F.VR_ICMS)
END
) AS VR_ICMS,
sum(F.VR_BC_IPI) AS VR_BC_IPI,
sum(F.VR_IPI) AS VR_IPI,
sum(
CASE
WHEN F.TP_SIT_TRIB_IPI = '9' THEN 0.00
ELSE
CASE
WHEN F.TNOTA = 'E' THEN abs(F.VR_IPI)
ELSE (F.VR_IPI)
END
END
) AS VR_IPI,
sum(
CASE
WHEN F.TP_SIT_TRIB_IPI = '9' THEN 0.00
ELSE
CASE
WHEN F.TNOTA = 'E' THEN abs(F.VR_PIS)
ELSE (F.VR_PIS)
END
END
) AS VR_PIS,
sum(
CASE
WHEN F.TP_SIT_TRIB_IPI = '9' THEN 0.00
ELSE
CASE
WHEN F.TNOTA = 'E' THEN abs(F.VR_COFINS)
ELSE (F.VR_COFINS)
END
END
) AS VR_COFINS,
'1' AS CODIMPICMS,
'2' AS CODIMPIPI,
'3' AS CODIMPPIS,
'4' AS CODIMPCOFINS,
'2' AS CODTIPOIMPFISCAL,
CASE
WHEN F.PERC_ICMS = 4 THEN '4%'
WHEN F.PERC_ICMS = 7 THEN '7%'
WHEN F.PERC_ICMS = 12 THEN '12%'
WHEN F.PERC_ICMS = 13.3 THEN '13,3%'
WHEN F.PERC_ICMS = 18 THEN '18%'
ELSE 'Outras'
END AL_ICMS,
decode(F.PERC_IPI, NULL, 'Outras', F.PERC_IPI || '%') AS AL_IPI,
CASE
WHEN F.PERC_PIS = 1.65 THEN '1,65%'
WHEN F.PERC_PIS = 0.65 THEN '0,65%'
ELSE 'Outras'
END AL_PIS,
CASE
WHEN F.PERC_COFINS = 7.60 THEN '7,60%'
WHEN F.PERC_COFINS = 3 THEN '3%'
ELSE 'Outras'
END AL_COFINS,
F.COD_EMPRESA,
F.PRODUTO
FROM
SP_VENDA_ITENS('01.01.1900', '31.12.2999', 'E', NULL) F
WHERE
F.ORIGEM = 'Itens-NF'
AND F.NOPE > 0
AND F.INTESCR = 'S'
GROUP BY
1, 2, 3, 4, 5, 6, 7, 21, 22, 23, 24
ORDER BY
1, 2
Mas estou recebendo o erro:
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).
A ordenação entre where, group by e order by está correta, alguém sabe o que pode ser?