SQL Server 2008 - Instruções Case / If na cláusula SELECT [duplicata]

Esta pergunta já tem uma resposta aqui:

Como executo um IF ... THEN em um SQL SELECT? 25 respostas

Eu tenho uma consulta que deveria ser executada assim -

If(var = xyz) 
   SELECT col1, col2
ELSE IF(var = zyx)
   SELECT col2, col3
ELSE
   SELECT col7,col8

FROM 

.
.
.

Como faço para conseguir isso no T-SQL sem escrever consultas separadas para cada cláusula? Atualmente, estou executando-o como

IF (var = xyz) {
  Query1
}
ELSE IF (var = zyx) {
  Query2
}
ELSE {
  Query3
}

Isso é muito código redundante apenas para selecionar colunas diferentes, dependendo de um valor. Alguma alternativa?

questionAnswers(6)

yourAnswerToTheQuestion