SQL Server 2008 - Case / If-Anweisungen in SELECT-Klausel [duplicate]

Diese Frage hat hier bereits eine Antwort:

Wie führe ich ein IF… THEN in einem SQL SELECT durch? 25 answers

Ich habe eine Abfrage, die wie folgt ausgeführt werden soll -

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

FROM 

.
.
.

Wie kann ich dies in T-SQL erreichen, ohne separate Abfragen für jede Klausel zu schreiben? Derzeit leite ich es als

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

Das ist nur eine Menge redundanten Codes, um abhängig von einem Wert verschiedene Spalten auszuwählen. Irgendwelche Alternativen?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage