sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo puedo SELECCIONAR varias columnas dentro de un CASO CUANDO en SQL Server?

El problema es que el CASE declaración no funcionará en la forma en que está tratando de usarla. Solo puede usarlo para cambiar el valor de un campo en una consulta. Si entiendo lo que está tratando de hacer, es posible que necesite esto:

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