MySQL - Bagaimana untuk menukar lajur kepada baris?
P粉533898694
P粉533898694 2023-07-24 23:17:01
0
1
565
<p><br /></p> <pre class="brush:php;toolbar:false;">ID | 1 |. a1 | 2 |. b2 |. <p>Bagaimana untuk menyusun semula baris ke dalam ID, pengepala lajur, nilai? </p> <pre class="brush:php;toolbar:false;">1 | 1 |. b1 | 1|c1|c 2 |. a2 | 2 |. b2 | 2 |. c2 |. <p><br /></p>
P粉533898694
P粉533898694

membalas semua(1)
P粉511896716

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan