sql >> Databáze >  >> RDS >> Sqlserver

Jak mohu VYBRAT více sloupců v CASE WHEN na SQL Server?

Problém je v tom, že CASE příkaz nebude fungovat způsobem, jakým se jej pokoušíte použít. Můžete jej použít pouze k přepnutí hodnoty jednoho pole v dotazu. Pokud rozumím tomu, o co se snažíte, možná budete potřebovat toto:

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


  1. paměťově efektivní vestavěný iterátor/generátor SqlAlchemy?

  2. SQL, Manipulace s prázdnými buňkami

  3. Aktualizujte příkaz if pro Oracle

  4. Jak Access 2019 funguje a jak s ním pracujete