PESQUISA SQL ORDER BY DIREFENCIADA

SQL Server

04/02/2015

Boa Tarde,

Estou precisando fazer uma consulta diferenciada no SQL SERVER. Tenho um campo que preciso ordenar, que nesse exemplo será o campo "A". Quando o valor do campo "A" for 0, quero que o campo "B" seja ordenado de maneira ascendente. Entretanto, quando o valor do campo "A" for 1, quero que o campo "B" seja ordenado de maneira descendente. OBS: Tudo isso em somente uma instrução sql.

Alguém tem alguma ideia de como poderia montar uma instrução SQL com a descrição acima?

Desde já agradeço.
Leonardo Rocha

Leonardo Rocha

Curtidas 0

Respostas

Randrade

Randrade

04/02/2015

Não sei se é a melhor maneira, mas você pode utilizar um case, ficaria mais ou menos assim.

select * from [Table_Name]  
ORDER BY
CASE WHEN A=0 THEN B END ASC,
CASE WHEN A=1 THEN B END DESC
	
GOSTEI 0
Leonardo Rocha

Leonardo Rocha

04/02/2015

Utilizei o teu exemplo e funcionou exatamente como eu precisava. Muito obrigado!!
GOSTEI 0
Randrade

Randrade

04/02/2015

Por nada, qualquer dúvida poste ai.
GOSTEI 0
POSTAR