PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

SQL транспониране на редове като колони

Използвайте:

  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

Това е стандартна централна заявка, тъй като вие "завъртате" данните от редове към колонни данни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cron задача за премахване на стари данни от postgres на debian

  2. Съвети за наблюдение на PostgreSQL за Moodle

  3. PHP и Postgres:улавяне на грешки?

  4. PostgreSQL:подобряване на производителността на pg_dump, pg_restore

  5. Как да зададете изчакване на връзката в SQLAlchemy