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

SQL Transpose các hàng dưới dạng cột

Sử dụng:

  SELECT r.user_id,
         MAX(CASE WHEN r.question_id = 1 THEN r.body ELSE NULL END) AS "Do you like apples?",
         MAX(CASE WHEN r.question_id = 2 THEN r.body ELSE NULL END) AS "Do you like oranges?",
         MAX(CASE WHEN r.question_id = 3 THEN r.body ELSE NULL END) AS "Do you like carrots?"
    FROM RESPONSES r
    JOIN QUESTIONS q ON q.id = r.question_id
GROUP BY r.user_id

Đây là truy vấn tổng hợp tiêu chuẩn, vì bạn đang "xoay vòng" dữ liệu từ các hàng thành dữ liệu cột.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển dữ liệu giữa các cơ sở dữ liệu với PostgreSQL

  2. pgAdmin III Tại sao kết quả truy vấn được rút ngắn?

  3. postgres đổi tên cơ sở dữ liệu không hoạt động

  4. Làm cách nào để xoay nhật ký PgBouncer trong Linux / Windows?

  5. Cách pg_sleep_until () hoạt động trong PostgreSQL