Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment puis-je sélectionner plusieurs colonnes dans un CASE WHEN sur SQL Server ?

Le problème est que le CASE déclaration ne fonctionnera pas de la façon dont vous essayez de l'utiliser. Vous ne pouvez l'utiliser que pour changer la valeur d'un champ dans une requête. Si je comprends ce que vous essayez de faire, vous pourriez avoir besoin de ceci :

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