Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как мога да ИЗБЕРЕМ множество колони в рамките на CASE WHEN на SQL Server?

Проблемът е, че CASE изявлението няма да работи по начина, по който се опитвате да го използвате. Можете да го използвате само за превключване на стойността на едно поле в заявка. Ако разбирам какво се опитвате да направите, може да имате нужда от това:

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. Използвайте PARSENAME(), за да върнете част от име на обект в SQL Server

  2. ABS() Примери в SQL Server

  3. Пример за вмъкване на SQL Server

  4. Как да открием дали дадена стойност съдържа поне едно число в SQL Server

  5. няма sqljdbc_auth в java.library.path