sql >> Database >  >> RDS >> PostgreSQL

SQL Transponeer rijen als kolommen

Gebruik:

  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

Dit is een standaard spilquery, omdat u de gegevens "draait" van rijen naar kolomgegevens.



  1. ODBC-query op MS SQL Server die de eerste 255 tekens alleen retourneert in PHP PDO (FreeTDS)

  2. Tijdstempel met een precisie van milliseconden:hoe u ze opslaat in MySQL

  3. Waarom zelfs *DB.exec() of voorbereide instructies in Golang gebruiken?

  4. Grondbeginselen van het beheren van gegevensbestanden in SQL Server