Não retorna item duplicado
Boa tarde!
Gostaria de uma ajuda para saber porque a query abaixo não retorna um item da coluna (Id.Doc As NF) quando o valor desse item está duplicado.
(
SELECT distinct
P.Descricao AS Descricao,
ESI.Id_Doc AS NF,
ESI.Cod_Produto AS Cod_Produto,
ESI.Cod_Empresa AS Cod_Empresa,
E.Dta_Entrada AS Data,
ESI.Qtde AS Qtde,
ESI.V_Unitario AS V_Unitario,
ESI.V_Total AS V_Total
FROM
dbo.Entrada_Itens AS ESI INNER JOIN
dbo.Produtos AS P ON ESI.Cod_Empresa = P.Cod_Empresa AND ESI.Cod_Estoque = P.Cod_Estoque AND ESI.Cod_Produto = P.Cod_Produto INNER JOIN
dbo.Entrada AS E ON ESI.Cod_Empresa = E.Cod_Empresa AND ESI.Id_Doc = E.Id_Doc INNER JOIN
[dbo].[Estoque] AS EST ON EST.Cod_Empresa = E.Cod_Empresa AND EST.Cod_Produto = P.Cod_Produto
WHERE
(ESI.Cod_Estoque = '01') AND
(ESI.Cod_Produto = '00322') AND
(ESI.Cod_Empresa = '1') AND
(E.Dta_Entrada Between '2012-01-01' AND '2014-03-01')
UNION
SELECT distinct
P.Descricao AS Descricao,
ESI.Id_Doc AS NF,
ESI.Cod_Produto AS Cod_Produto,
ESI.Cod_Empresa AS Cod_Empresa,
S.Dta_Entrada AS Data,
-ESI.Qtde AS Qtde,
ESI.V_Unitario AS V_Unitario,
-ESI.V_Total AS V_Total
FROM
dbo.Saida_Itens AS ESI INNER JOIN
dbo.Produtos AS P ON ESI.Cod_Empresa = P.Cod_Empresa AND ESI.Cod_Estoque = P.Cod_Estoque AND ESI.Cod_Produto = P.Cod_Produto inner join
dbo.Saida AS S ON ESI.Cod_Empresa = S.Cod_Empresa AND ESI.Id_Doc = S.Id_Doc INNER JOIN
[dbo].[Estoque] AS EST ON EST.Cod_Empresa = S.Cod_Empresa AND EST.Cod_Produto = P.Cod_Produto
WHERE
(ESI.Cod_Estoque = '01') AND
(ESI.Cod_Produto = '00322') AND
(ESI.Cod_Empresa = '1') AND
(S.Dta_Entrada Between '2012-01-01' AND '2014-03-01')
)No teste que realizei, quando um item está com seu Id_Doc duplicado não aparece mas quando eu executo a consulta individualmente ele aparece.
Obrigado.
Discussão (1)
Carregando comentários...