sql >> Database teknologi >  >> RDS >> Mysql

Række til kolonne transformation fra forskellige tabeller (union) i MySQL version 8.0.17 ved hjælp af Pivot

I MySQL 8.0+ kan du gøre det med ROW_NUMBER() vinduesfunktion i hver tabel for at få et rækkenummer og samle tabellerne på det:

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

Jeg antager, at de 2 tabeller har det samme antal rækker, ligesom dine eksempeldata.

Se demoen .




  1. hvor er fejlen i min sql kode?

  2. Gendan SQL-database nemt – Trin-for-trin-vejledning

  3. Konverter kommasepareret streng til array i PL/SQL

  4. 4 måder at kontrollere en kolonnes datatype i MySQL