Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como posso SELECIONAR várias colunas em um CASE WHEN no SQL Server?


O problema é que o CASE declaração não funcionará da maneira que você está tentando usá-la. Você só pode usá-lo para alternar o valor de um campo em uma consulta. Se eu entendi o que você está tentando fazer, talvez você precise disso:
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