sql >> Database >  >> RDS >> Mysql

Rij-naar-kolomtransformatie van verschillende tabellen en verschillende rijennummers (unie) in MySQL-versie 8.0.17 met behulp van Pivot

U wilt in wezen een full join , die MySQL niet ondersteunt. Een methode om dit aan te pakken is union all en aggregatie:

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. Postgres:onderscheiden maar slechts voor één kolom

  2. Kan geen verbinding maken met lokale MySQL-server via socket '/tmp/mysql.sock

  3. Zoeken in SQL-array

  4. oracle -- Splits meerdere door komma's gescheiden waarden in de Oracle-tabel naar meerdere rijen