Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Prezados, boa tarde.
No meu banco de dados tenho registro de estoque de alguns produtos e suas respectivas unidades.
Eu gostaria que a query só trouxesse o último registro dos produtos daquela unidade.
Utilizo Mysql como banco de dados.
Segue minha Query abaixo:
SELECT
A.ID_ESTOQUE,
D.CNES,
D.NOME_UNIDADE,
B.COBERTURA,
A.QTD,
C.DATA_REGISTRO
FROM
lesao_rel_estoque_coberturas A
INNER JOIN
lesao_coberturas B ON A.ID_COBERTURA = B.ID_COBERTURA
INNER JOIN
lesao_estoque C ON A.ID_ESTOQUE = C.ID_ESTOQUE
INNER JOIN
unidades D ON C.CNES = D.CNES
ORDER BY A.ID_ESTOQUE
Agradeço a todos desde já pela ajuda.
>
2 horas atrás, Motta disse:
Uma forma por subselect e max
SELECT
A.ID_ESTOQUE,
D.CNES,
D.NOME_UNIDADE,
B.COBERTURA,
A.QTD,
C.DATA_REGISTRO
FROM
lesao_rel_estoque_coberturas A
INNER JOIN
lesao_coberturas B ON A.ID_COBERTURA = B.ID_COBERTURA
INNER JOIN
lesao_estoque C ON A.ID_ESTOQUE = C.ID_ESTOQUE
INNER JOIN
unidades D ON C.CNES = D.CNES
WHERE C.DATA_REGISTRO = (SELECT MAX(E.DATA_REGISTRO)
FROM lesao_estoque E
WHERE E.ID_ESTOQUE = D.ID_ESTOQUE)
ORDER BY A.ID_ESTOQUE
Obrigado pelo retorno, mas ao testar ele repete as unidades em dias diferentes.
Como posso fazer ele me trazer o registro mais recente do estoque das unidades.
O CNES é o código da unidade.
Agradeço.
@Motta, consegui adaptar o seu código a minha necessidade ficou perfeito!
Muito obrigado...
Segue o código adaptado:
SELECT
A.ID_ESTOQUE,
D.CNES,
D.NOME_UNIDADE,
B.COBERTURA,
A.QTD,
C.DATA_REGISTRO
FROM
lesao_rel_estoque_coberturas A
INNER JOIN
lesao_coberturas B ON A.ID_COBERTURA = B.ID_COBERTURA
INNER JOIN
lesao_estoque C ON A.ID_ESTOQUE = C.ID_ESTOQUE
INNER JOIN
unidades D ON C.CNES = D.CNES
WHERE C.DATA_REGISTRO = (SELECT MAX(E.DATA_REGISTRO)
FROM lesao_estoque E
WHERE E.CNES = C.CNES)
ORDER BY A.ID_ESTOQUE
Uma forma por subselect e max
SELECT
A.ID_ESTOQUE,
D.CNES,
D.NOME_UNIDADE,
B.COBERTURA,
A.QTD,
C.DATA_REGISTRO
FROM
lesao_rel_estoque_coberturas A
INNER JOIN
lesao_coberturas B ON A.ID_COBERTURA = B.ID_COBERTURA
INNER JOIN
lesao_estoque C ON A.ID_ESTOQUE = C.ID_ESTOQUE
INNER JOIN
unidades D ON C.CNES = D.CNES
ORDER BY A.ID_ESTOQUE