Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để CHỌN nhiều cột trong CASE WHEN trên SQL Server?

Vấn đề là CASE câu lệnh sẽ không hoạt động theo cách bạn đang cố gắng sử dụng nó. Bạn chỉ có thể sử dụng nó để chuyển đổi giá trị của một trường trong một truy vấn. Nếu tôi hiểu bạn đang cố gắng làm gì, bạn có thể cần cái này:

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. Suy nghĩ về phiên bản SQL Server 2019

  2. Giải quyết cơ sở dữ liệu SQL Server bị kẹt trong vấn đề chế độ nghi ngờ một cách dễ dàng

  3. 10 sự thật về giám sát hiệu suất cơ sở dữ liệu có thể khiến bạn ngạc nhiên

  4. Cách thêm hoặc thả cột bằng cách sử dụng GUI trong SQL Server - Hướng dẫn sử dụng SQL Server / T-SQL Phần 39

  5. Chuyển đổi hiệu quả các hàng thành cột trong máy chủ sql