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 respostasEu 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?