PESQUISA SQL ORDER BY DIREFENCIADA

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

Currículo

Respostas

05/02/2015

Randrade

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
	
Responder Citar

05/02/2015

Leonardo Rocha Currículo

Utilizei o teu exemplo e funcionou exatamente como eu precisava. Muito obrigado!!
Responder Citar

05/02/2015

Randrade

Por nada, qualquer dúvida poste ai.
Responder Citar