Mysql
 sql >> Base de données >  >> RDS >> Mysql

Transformation de ligne en colonne à partir de différentes tables (union) dans MySQL version 8.0.17 à l'aide de Pivot

Dans MySQL 8.0+, vous pouvez le faire avec ROW_NUMBER() fonction de fenêtre dans chaque table pour obtenir un numéro de ligne et joindre les tables sur celle-ci :

WITH 
  cte1 AS (SELECT *, ROW_NUMBER() OVER (ORDER BY sID) rn FROM t_contents_q400),
  cte2 AS (SELECT *, ROW_NUMBER() OVER (ORDER BY sID) rn FROM t_contents_q410)
SELECT c1.contents Q400, c2.contents Q410
FROM cte1 c1 INNER JOIN cte2 c2
ON c2.rn = c1.rn

Je suppose que les 2 tables ont le même nombre de lignes, comme vos exemples de données.

Voir la démo .