Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zeilen-zu-Spalten-Transformation aus verschiedenen Tabellen und verschiedenen Zeilennummern (Union) in MySQL Version 8.0.17 mit Pivot

Sie möchten im Wesentlichen einen full join , die MySQL nicht unterstützt. Eine Methode, um damit umzugehen, ist union all und Aggregation:

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;