Usuário com melhor resposta
Consulta SQL para trazer o resultado de um max e nome da coluna correspondente

Pergunta
-
Galera bom dia.
Preciso de uma ajuda. Aqui no trabalho eu tenho uma tabela com dezenas de campos de datas de status que mostra toda a vida de um pedido. Eu preciso fazer um relatório que traga o numero do pedido, a maior e/ou menor data, mas tb preciso saber qual é o campo que está aquela data.
Exemplo.
Para conseguir o max por exemplo eu uso
SELECT
Pedido_Numero,
(
SELECT MAX(UltimoStatus)
FROM (VALUES ([Minha_Tbl_Status_Pedido.[status_1]),(Minha_Tbl_Status_Pedido.[status_2]),(Minha_Tbl_Status_Pedido.[Status_4])) AS UltimoStatus(UltimoStatus)
) AS UltimoStatus
FROM Minha_Tbl_Status_Pedidoe o resultado é
Pedido_Numero UltimoStatus
12345 2016/12/06 18:11:00
Perfeito.
mas eu precisaria assim
Pedido_Numero UltimoStatus STATUS_NAME
12345 2016/12/06 18:11:00 Status 2
12543 2016/12/06 18:11:00 Status 1
43215 2016/12/06 18:11:00 Status 4
Desde já agradeço
Respostas
-
Bom dia,
Experimente fazer uns testes utilizando Unpivot:
with CTE_Unpivot as ( SELECT [Pedido_Numero], [Status], [Status_Name], ROW_NUMBER() OVER(PARTITION BY [Pedido_Numero] ORDER BY [Status] DESC) as RN from Minha_Tbl_Status_Pedido unpivot ( [Status] for [Status_Name] in (Status_1, Status_2, Status_4) ) as u ) select * from CTE_Unpivot where RN = 1
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 28 de agosto de 2017 12:55
-
Deleted
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 28 de agosto de 2017 12:55
Todas as Respostas
-
Bom dia,
Experimente fazer uns testes utilizando Unpivot:
with CTE_Unpivot as ( SELECT [Pedido_Numero], [Status], [Status_Name], ROW_NUMBER() OVER(PARTITION BY [Pedido_Numero] ORDER BY [Status] DESC) as RN from Minha_Tbl_Status_Pedido unpivot ( [Status] for [Status_Name] in (Status_1, Status_2, Status_4) ) as u ) select * from CTE_Unpivot where RN = 1
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 28 de agosto de 2017 12:55
-
Deleted
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 28 de agosto de 2017 12:55
-
Bom dia,
Por falta de retorno essa thread está encerrada.
Se preciso, favor abrir uma nova thread.
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.