Comment convertir des colonnes d'une rangée en une rangée chacune?Comment convertir une seule ligne en une seule colonne?
données ayant dans le tableau ci-dessous:
+------+------+------+------+
| col1 | col2 | col3 | col4 |
+------+------+------+------+
| a1 | a2 | a3 | a4 |
+------+------+------+------+
sortie requise: toutes les valeurs de la ligne doivent aller dans une seule colonne comme ci-dessous.
+---------------+
| All_cols |
+---------------+
| a1,a2,a3,a4 |
+---------------+
Comme dans l'image: Ici mytable
ont toujours un enregistrement, donc j'ai besoin de la sortie comme ci-dessous.
voulez éviter ci-dessous sql car elle nécessite plusieurs jointures:
select a1.name from accounts a1 where a1.id='658f3b73-8260-5a7a-ae7e-54c25deded36'
union
Select a2.name from accounts a1
left join accounts a2 on a1.id=a2.parent_id where a1.id='658f3b73-8260-5a7a-ae7e-54c25deded36'
union
Select a3.name from accounts a1
left join accounts a2 on a1.id=a2.parent_id
left join accounts a3 on a2.id=a3.parent_id where a1.id='658f3b73-8260-5a7a-ae7e-54c25deded36'
union
Select a4.name from accounts a1
left join accounts a2 on a1.id=a2.parent_id
left join accounts a3 on a2.id=a3.parent_id
left join accounts a4 on a3.id=a4.parent_id where a1.id='658f3b73-8260-5a7a-ae7e-54c25deded36'
union
Select a5.name from accounts a1
left join accounts a2 on a1.id=a2.parent_id
left join accounts a3 on a2.id=a3.parent_id
left join accounts a4 on a3.id=a4.parent_id
left join accounts a5 on a4.id=a5.parent_id where a1.id='658f3b73-8260-5a7a-ae7e-54c25deded36'
Cher, Il est en train de convertir des données de ligne en une seule colonne comme dans l'image, merci pour votre réponse. – Sam
J'ai vu l'image maintenant –
chère J'ai juste corrigé l'image car ma table a toujours un enregistrement. – Sam