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

Tạo một kết quả tóm tắt với một truy vấn

Đây là một truy vấn tổng hợp tiêu chuẩn:

  SELECT uc.uut_sn,
         MAX(CASE 
               WHEN uc.characteristic_name = 'char_name_1' THEN uc.characteristic_value 
               ELSE NULL 
             END) AS char_name_1,
         MAX(CASE 
               WHEN uc.characteristic_name = 'char_name_2' THEN uc.characteristic_value 
               ELSE NULL 
             END) AS char_name_2,
         MAX(CASE 
               WHEN uc.characteristic_name = 'char_name_3' THEN uc.characteristic_value 
               ELSE NULL 
             END) AS char_name_3,
    FROM unit_characteristics uc
GROUP BY uc.uut_sn

Để làm cho nó động, bạn cần sử dụng Cú pháp SQL động của MySQL được gọi là Câu lệnh chuẩn bị . Nó yêu cầu hai truy vấn - truy vấn đầu tiên lấy danh sách characteristic_name các giá trị, vì vậy bạn có thể nối chuỗi thích hợp vào các biểu thức CASE như bạn thấy trong ví dụ của tôi dưới dạng truy vấn cuối cùng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chuyển đổi truy vấn MYSQL thành truy vấn MSSQL

  2. SỬ DỤNG từ khóa so với mệnh đề BẬT - MYSQL

  3. Chênh lệch thời gian giữa vuốt vào và quẹt ra cho nhân viên; cho phép điều hướng và đi ra vào những ngày khác

  4. Phân tích cú pháp dấu thời gian - làm điều đó trong MySQL hoặc trong PHP?

  5. Cách tìm các bản sao trong 2 cột không phải 1