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

Преобразуване от ред в колона от различни таблици и различен брой редове (обединение) в MySQL версия 8.0.17 с помощта на Pivot

По същество искате full join , който MySQL не поддържа. Един метод за справяне с това е union all и агрегиране:

SELECT MAX(CASE WHEN which = 'Q400' THEN contents END) as Q400,
       MAX(CASE WHEN which = 'Q401' THEN contents END) as Q401       
c2.contents Q410
FROM ((SELECT 'Q400' as which, c.*,
              ROW_NUMBER() OVER (ORDER BY sID) as seqnum
       FROM t_contents_q400 c
      ) UNION ALL
      (SELECT 'Q401' as which, c.*,
              ROW_NUMBER() OVER (ORDER BY sID) as seqnum
       FROM t_contents_q401 c
      )
     ) q
GROUP BY seqnum;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP Не е избрана база данни

  2. MySQL Workbench много по-бърз от Python за същата заявка

  3. Грешка MySQLTest при опит за свързване на C# към MySql

  4. Филтриране на търсене с PHP/MySQL

  5. PHP открива опит за SQL инжекция