web-dev-qa-db-fra.com

Sélectionnez plusieurs valeurs dans la même colonne; une instruction sql

Je cherche à renvoyer une liste d'utilisateurs à partir d'une base de données. Il y a des centaines d'utilisateurs dans la base de données. Chaque utilisateur a son propre id_utilisateur unique. Toutes les valeurs que j'essaye de renvoyer résident dans la même colonne (meta_value).

La structure de la base de données est la suivante:

id | user_id | meta_key | meta_value

les exemples de données sont les suivants:

 1 | 3434 | prénom | Brandon 
 2 | 3434 | nom de famille | Johnson 
 3 | 3434 | street_add | 123 principal 
 4 | 3434 | ville | plage de l'océan 
 5 | 3434 | état | Texas

J'essaie de renvoyer le prénom, le nom, street_add, la ville et l'état dans une instruction sql.

J'aimerais que la sortie ressemble à ceci:

Brandon, Johnson, 123 Main, Ocean Beach, Texas 
7

Utilisez simplement GROUP_CONCAT avec une condition WHERE

SELECT user_id,GROUP_CONCAT(meta_value ORDER BY id) 
FROM t 
WHERE meta_key  IN('first_name','last_name','street_add','city','state') 
GROUP BY user_id
9
Mihai