1
resposta

Consulta para apresentar o ultimo custo registrado na tabela.

Preciso de ajuda nesse código, pois tenho mais de 1 registro na tabela de custo (TGFCUS). Como faço para trazer apenas o ultimo custo da tabela citada anteriormente? Agradeço quem puder ajudar, estou começando na programação!

select pro.codprod, pro.descrprod, pro.marca, est.codprod, est.estoque, est.codemp, cus.cusrep, cus.DTATUAL
from tgfpro pro
join tgfest est on est.codprod = pro.codprod
join tgfcus cus on cus.codprod = pro.codprod 

and pro.descrprod like 'vidro porta%'
order by descrprod asc
1 resposta

Oi, Rafa, tudo bem?

Peço desculpas pela demora em te responder.

Para trazer apenas o último custo registrado na tabela TGFCUS, podemos utilizar a cláusula ORDER BY no campo de data de atualização e a cláusula LIMIT para apresentar somente uma informação. Essa combinação permitirá que você ordene os registros de forma decrescente pela data de atualização e traga apenas o primeiro registro, o qual se refere ao último custo adicionado!

Observe abaixo como ficaria a consulta após a adição do ORDER BY:

select pro.codprod, pro.descrprod, pro.marca, est.codprod, est.estoque, est.codemp, cus.cusrep, cus.DTATUAL
from tgfpro pro
join tgfest est on est.codprod = pro.codprod
join tgfcus cus on cus.codprod = pro.codprod 
and pro.descrprod like 'vidro porta%'
ORDER BY cus.DTATUAL DESC
LIMIT 1;

Desse modo, após a execução da consulta, veremos justamente o último custo da tabela TGFCUS.

Espero ter ajudado, Rafael. Contudo, vale ressaltar que como é um assunto externo aos cursos da Alura e que não tenho acesso ao cenário completo do projeto, outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.

Fico à disposição.

Abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!