Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia gente,
Estou com o seguinte problema, tenho a sp abaixo que está retornando todos os registros cadastrados, mas na verdade preciso que me retorne apenas o último registro de uma entrada do produto com seus respectivos dados tais como nome, quantidade, data de última entrada e unidade. Acredito precisar utilizar uma subconsulta e o having mas não estou sabendo fazer isto muito bem alguém poderia me dar uma luz?
Obrigada
Segue minha SP
SELECT MAX(DISTINCT ENM.dt_entrada) AS 'ultima entrada', --seleciono a última entrada
UND.sigla, -- sigla da unidade
GPM.nm_grupo, -- grupo ao qual o produto pertence
PM.id_prod_malharia, -- loja que pertence o produto (PK da tabela)
PM.nm_produto, -- nome do produto
EIM.vlr_total_item, -- valor do produto
EIM.qtd_item -- quant. do produto
-- Aqui o usuário seleciona um ou mais produtos para exibir suas entradas
FROM Entradas_NF_Malharia ENM
INNER JOIN Unidades UND (NOLOCK)
ON UND.id_unidade = ENM.id_unidade
INNER JOIN Entradas_NF_Itens_Malharia EIM (NOLOCK)
ON ENM.id_entrada_malharia = EIM.id_entrada_malharia
INNER JOIN Produtos_Malharia PM (NOLOCK)
ON EIM.id_prod_malharia = PM.id_prod_malharia
INNER JOIN @Grupos_Produtos GP --tabela temporária para receber os produtos selecionados
ON GP.id_prod_malharia = PM.id_prod_malharia
INNER JOIN Grupos_Produtos_Malharia GPM (NOLOCK)
ON GPM.id_grp_malharia = PM.id_grp_malharia
WHERE (UND.sigla <> 'CA') AND (UND.sigla <> 'CE')--descarta estas unidades
GROUP BY UND.sigla,GPM.nm_grupo, PM.nm_produto, PM.id_prod_malharia, EIM.vlr_total_item, EIM.qtd_item
HAVING MAX(DISTINCT ENM.dt_entrada)<> 0
ORDER BY UND.sigla, PM.nm_produto
Carregando comentários...