Rumah > Soal Jawab > teks badan
P粉5118967162023-07-25 00:05:48
Anda cuba menyongsangkan data. MySQL tidak mempunyai fungsi terbalik, jadi anda perlu menggunakan pertanyaan UNION ALL untuk menukar lajur kepada baris:
select id, 'a' col, a value from yourtable union all select id, 'b' col, b value from yourtable union all select id, 'c' col, c value from yourtable
Lihat SQL Fiddle dengan Demo.
Ini juga boleh dicapai menggunakan CROSS JOIN:
select t.id, c.col, case c.col when 'a' then a when 'b' then b when 'c' then c end as data from yourtable t cross join ( select 'a' as col union all select 'b' union all select 'c' ) c
Lihat SQL Fiddle dengan Demo