Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Transformacja wiersza do kolumny z różnych tabel (unia) w MySQL w wersji 8.0.17 przy użyciu Pivot

W MySQL 8.0+ możesz to zrobić za pomocą ROW_NUMBER() funkcja okna w każdej tabeli, aby uzyskać numer wiersza i połączyć się z nim w tabelach:

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

Zakładam, że dwie tabele mają taką samą liczbę wierszy, jak Twoje przykładowe dane.

Zobacz demo .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wykonanie zapytania mysql trwa zbyt długo

  2. PHP MySql nieznany host serwera

  3. Jak zoptymalizować wydajność COUNT(*) w InnoDB za pomocą index

  4. Blokowanie '0000-00-00' z pól daty MySQL

  5. Autoinkrementacja SQL według daty i godziny