MySQL - Comment convertir des colonnes en lignes ?
P粉533898694
P粉533898694 2023-07-24 23:17:01
0
1
572
<p><br /></p> <pre class="brush:php;toolbar:false;">ID a b | 1 | 2 | a2 | b2 | c2≪/pré> <p>Comment réorganiser les lignes en identifiants, en-têtes de colonnes et valeurs ? </p> <pre class="brush:php;toolbar:false;">1 a1 | 1 | 1|c1|c 2 | 2 | 2 | c2 | c≪/pré> <p><br /></p>
P粉533898694
P粉533898694

répondre à tous(1)
P粉511896716

Vous essayez d'inverser les données. MySQL n'a pas de fonction inverse, vous devez donc utiliser une requête UNION ALL pour convertir les colonnes en lignes :

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

Voir SQL Fiddle avec la démo.

Cela peut également être réalisé en utilisant 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

Voir SQL Fiddle avec la démo

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal