Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde!
Estou utilizando o seguinte select:
SELECT
F.NF_SAIDA,
F.CODIGO_FISCAL_OPERACAO,
F.CODIGO_ITEM,
F.DESCRICAO_ITEM,
F.QTDE_ITEM,
F.UNIDADE,
F.VALOR_ITEM,
F.PRECO_UNITARIO,
(CASE
WHEN (FI.VALOR_IMPOSTO > 0) AND (FI.BASE_IMPOSTO > 0) AND (FI.ID_IMPOSTO = 1) THEN
ROUND(((FI.VALOR_IMPOSTO / FI.BASE_IMPOSTO) * 100),2)
ELSE
0.0
END) AS ITEM_ALIICMS,
COALESCE((CASE
WHEN FI.ID_IMPOSTO = 1 THEN
FI.VALOR_IMPOSTO
END),0) AS ITEM_VALORICMS,
COALESCE((CASE
WHEN FI.ID_IMPOSTO = 1 THEN
FI.BASE_IMPOSTO
END),0) AS ITEM_BASEICMS,
(CASE
WHEN (FI.VALOR_IMPOSTO > 0) AND (FI.BASE_IMPOSTO > 0) AND (FI.ID_IMPOSTO = 2) THEN
ROUND(((FI.VALOR_IMPOSTO / FI.BASE_IMPOSTO) * 100),2)
ELSE
0.0
END) AS ITEM_ALIIPI,
COALESCE((CASE
WHEN FI.ID_IMPOSTO = 2 THEN
FI.VALOR_IMPOSTO
END),0) AS VALORIPI,
COALESCE((CASE
WHEN FI.ID_IMPOSTO = 2 THEN
FI.BASE_IMPOSTO
END),0) AS ITEM_BASEIPI,
(CONVERT(VARCHAR(3), CONVERT(INTEGER,F.TRIBUT_ORIGEM)) +
CONVERT(VARCHAR(3), F.TRIBUT_ICMS)) AS FSITUACAOTRIBUTARIA,
'0,00' AS CLASSEENQUADRAMENTO,
'0,00' AS CODIGOSELOIPI,
'0,00' AS QUANTIDADESELOS,
'0,00' AS CODIGOENQUADRAMENTO,
'1' AS FILIALCOD,
(CASE
WHEN (FI.VALOR_IMPOSTO > 0) AND (FI.BASE_IMPOSTO > 0) AND (FI.ID_IMPOSTO = 12) THEN
ROUND(((FI.VALOR_IMPOSTO / FI.BASE_IMPOSTO) * 100),2)
ELSE
0.0
END) AS ITEM_ALICMSST,
COALESCE((CASE
WHEN FI.ID_IMPOSTO = 12 THEN
FI.VALOR_IMPOSTO
END),0) AS ITEM_VALORICMSST,
COALESCE((CASE
WHEN FI.ID_IMPOSTO = 12 THEN
FI.BASE_IMPOSTO
END),0) AS ITEM_BASEICMSST,
REPLACE(F.CLASSIF_FISCAL,'.','') as CLASSIF_FISCAL, /* <<== PRONTO ^^ */
F.DESCONTO_ITEM
FROM FATURAMENTO_ITEM F,
FATURAMENTO_IMPOSTO FI
WHERE F.NF_SAIDA =F.NF_SAIDA
AND FI.NF_SAIDA = F.NF_SAIDA
AND F.NF_SAIDA = '071175'
GROUP BY F.NF_SAIDA,
F.CODIGO_FISCAL_OPERACAO,
F.CODIGO_ITEM,
F.DESCRICAO_ITEM,
F.QTDE_ITEM,
F.UNIDADE,
F.VALOR_ITEM,
F.PRECO_UNITARIO,
FI.VALOR_IMPOSTO,
FI.BASE_IMPOSTO,
FI.ID_IMPOSTO,
F.TRIBUT_ORIGEM,
F.TRIBUT_ICMS,
F.CLASSIF_FISCAL,
F.DESCONTO_ITEM
O problema é que ele está retornando ou repetindo pos varias vezes os valores dos campos, se alguem puder me ajudar agradeco desde já.
Ex: o select está retornado mais de 40 os mesmos valores.
NF_SAIDA CODIGO_FISCAL_OPERACAO CODIGO_ITEM
-------- ---------------------- -----------
071175 6101 40604
071175 6101 40604
071175 6101 40604
071175 6101 40604
071175 6101 40604
071175 6101 40604
Para complementar ainda mais o meu problema estou utilizando o DISTINCT e mesmo assim ele está repetindo varias vezes os mesmos valores no campos
SELECT DISTINCT
F.NF_SAIDA,
F.CODIGO_FISCAL_OPERACAO,
F.CODIGO_ITEM,
F.DESCRICAO_ITEM,
F.QTDE_ITEM,
F.UNIDADE,
F.VALOR_ITEM,
F.PRECO_UNITARIO,
(CASE
WHEN (FI.VALOR_IMPOSTO > 0) AND (FI.BASE_IMPOSTO > 0) AND (FI.ID_IMPOSTO = 1) THEN
ROUND(((FI.VALOR_IMPOSTO / FI.BASE_IMPOSTO) * 100),2)
ELSE
0.0
END) AS ITEM_ALIICMS,
COALESCE((CASE
WHEN FI.ID_IMPOSTO = 1 THEN
FI.VALOR_IMPOSTO
END),0) AS ITEM_VALORICMS,
COALESCE((CASE
WHEN FI.ID_IMPOSTO = 1 THEN
FI.BASE_IMPOSTO
END),0) AS ITEM_BASEICMS,
(CASE
WHEN (FI.VALOR_IMPOSTO > 0) AND (FI.BASE_IMPOSTO > 0) AND (FI.ID_IMPOSTO = 2) THEN
ROUND(((FI.VALOR_IMPOSTO / FI.BASE_IMPOSTO) * 100),2)
ELSE
0.0
END) AS ITEM_ALIIPI,
COALESCE((CASE
WHEN FI.ID_IMPOSTO = 2 THEN
FI.VALOR_IMPOSTO
END),0) AS VALORIPI,
COALESCE((CASE
WHEN FI.ID_IMPOSTO = 2 THEN
FI.BASE_IMPOSTO
END),0) AS ITEM_BASEIPI,
(CONVERT(VARCHAR(3), CONVERT(INTEGER,F.TRIBUT_ORIGEM)) +
CONVERT(VARCHAR(3), F.TRIBUT_ICMS)) AS FSITUACAOTRIBUTARIA,
'0,00' AS CLASSEENQUADRAMENTO,
'0,00' AS CODIGOSELOIPI,
'0,00' AS QUANTIDADESELOS,
'0,00' AS CODIGOENQUADRAMENTO,
'1' AS FILIALCOD,
(CASE
WHEN (FI.VALOR_IMPOSTO > 0) AND (FI.BASE_IMPOSTO > 0) AND (FI.ID_IMPOSTO = 12) THEN
ROUND(((FI.VALOR_IMPOSTO / FI.BASE_IMPOSTO) * 100),2)
ELSE
0.0
END) AS ITEM_ALICMSST,
COALESCE((CASE
WHEN FI.ID_IMPOSTO = 12 THEN
FI.VALOR_IMPOSTO
END),0) AS ITEM_VALORICMSST,
COALESCE((CASE
WHEN FI.ID_IMPOSTO = 12 THEN
FI.BASE_IMPOSTO
END),0) AS ITEM_BASEICMSST,
REPLACE(F.CLASSIF_FISCAL,'.','') as CLASSIF_FISCAL, /* <<== PRONTO ^^ */
F.DESCONTO_ITEM
FROM FATURAMENTO_ITEM F,
FATURAMENTO_IMPOSTO FI
WHERE F.NF_SAIDA =F.NF_SAIDA
AND FI.NF_SAIDA = F.NF_SAIDA
AND F.NF_SAIDA = '071175'
GROUP BY F.NF_SAIDA,
F.CODIGO_FISCAL_OPERACAO,
F.CODIGO_ITEM,
F.DESCRICAO_ITEM,
F.QTDE_ITEM,
F.UNIDADE,
F.VALOR_ITEM,
F.PRECO_UNITARIO,
FI.VALOR_IMPOSTO,
FI.BASE_IMPOSTO,
FI.ID_IMPOSTO,
F.TRIBUT_ORIGEM,
F.TRIBUT_ICMS,
F.CLASSIF_FISCAL,
F.DESCONTO_ITEM
Ex:
NF_SAIDA CODIGO_FISCAL_OPERACAO CODIGO_ITEM
-------- ---------------------- -----------
071175 6101 40604
071175 6101 40604
071175 6101 40604
071175 6101 40604
071175 6101 40604
071175 6101 40604
Carregando comentários...