sql >> Database teknologi >  >> RDS >> PostgreSQL

SQL Transponer rækker som kolonner

Brug:

  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

Dette er en standard pivotforespørgsel, fordi du "pivoterer" dataene fra rækker til kolonnedata.



  1. MySQL-sharding nærmer sig?

  2. Sådan sammenkædes strenge i PostgreSQL

  3. SQL Server 2017:Kopiering af SQL Server-data fra Linux til Windows med SSIS

  4. MySQL-hurtigt tip:Brug af DAYOFWEEK-funktionen