Array
(
)

PESQUISA SQL ORDER BY DIREFENCIADA

Leonardo Rocha
|
MVP
    04 fev 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.

Randrade
   - 05 fev 2015

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

#Código

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

Leonardo Rocha
|
MVP
    05 fev 2015

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

Randrade
   - 05 fev 2015

Por nada, qualquer dúvida poste ai.