Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come posso SELEZIONARE più colonne all'interno di un CASE WHEN su SQL Server?

Il problema è che il CASE istruzione non funzionerà nel modo in cui stai cercando di usarla. Puoi usarlo solo per cambiare il valore di un campo in una query. Se ho capito cosa stai cercando di fare, potresti aver bisogno di questo:

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