Alguém pode me ajudar a fazer uma SQL que me retorne o custo da maior data?

31/08/2015

0

Preciso fazer uma SQL (SQLServer) onde eu tenho duas tabelas, uma de produto e uma com a movimentação do custo desses produtos e preciso que me retorne apenas 1 linha para cada produto com o valor do custo da maior data. Exe.

TABELA PRODUTOS
COD DESCRICAO
1 PRODUTO UM
2 PRODUTO DOIS
3 PRODUTO TRES

TABELA CUSTOS
COD.PROD. DATA CUSTO
1 01/01/2015 10,00
1 10/01/2015 15,00
1 15/02/2015 20,00
2 01/01/2015 50,00

TABELA RESULTADOS
COD.PROD. DATA CUSTO
1 15/02/2015 20,00
2 01/01/2015 50,00
3 0,00
Priscila Cardoso

Priscila Cardoso

Responder

Posts

31/08/2015

Jair N.

Primeiro você precisa ter uma subconsulta onde os itens de produto determina a data máxima
Exemplo:

SELECT prd.cod
, prd.descricao
, cus.custo
FROM [Tabela Produtos] prd
INNER JOIN (SELECT mct.prod
, MAX (mct.data) AS max_data
FROM [Tabela Custos] mct
GROUP BY mct.prod
) sqy
INNER JOIN [Tabela Custos] cus
ON (cus.prod = sqy.prd)
AND (cus.data = sqy.max_data)
ORDER BY prd.cod
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar