Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak mogę WYBRAĆ wiele kolumn w ramach przypadku, gdy na serwerze SQL Server?

Problem polega na tym, że CASE oświadczenie nie będzie działać w sposób, w jaki próbujesz go użyć. Możesz go używać tylko do przełączania wartości jednego pola w zapytaniu. Jeśli rozumiem, co próbujesz zrobić, możesz potrzebować tego:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kopia zapasowa/przywracanie serwera SQL Server a odłączanie/dołączanie

  2. Po usunięciu kaskady dla tabeli samoodnoszącej się

  3. Czy istnieje sposób na przejście przez zmienną tabeli w TSQL bez użycia kursora?

  4. Wybierz / wstaw wersję Upsert:czy istnieje wzorzec projektowy dla wysokiej współbieżności?

  5. 5 najważniejszych faktów dotyczących znajdowania i zastępowania tekstów SQL w SQL Server za pomocą funkcji REPLACE