Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie kann ich mehrere Spalten innerhalb eines CASE WHEN auf SQL Server auswählen?

Das Problem ist, dass der CASE -Anweisung funktioniert nicht so, wie Sie sie verwenden möchten. Sie können es nur verwenden, um den Wert eines Felds in einer Abfrage umzuschalten. Wenn ich verstehe, was Sie zu tun versuchen, benötigen Sie möglicherweise Folgendes:

SELECT 
   ActivityID,
   FieldName = CASE 
                  WHEN ActivityTypeID <> 2 THEN
                      (Some Aggregate Sub Query)
                  ELSE
                     (Some Aggregate Sub Query with diff result)
               END,
   FieldName2 = CASE
                  WHEN ActivityTypeID <> 2 THEN
                      (Some Aggregate Sub Query)
                  ELSE
                     (Some Aggregate Sub Query with diff result)
               END