Je suis nouveau avec SQL, et j'ai une requête assez simple que j'aimerais être en mesure d'effectuer, mais je ne sais même pas comment l'intituler pour la rechercher dans le forum. Donc désolé si ce genre de demande existe déjà.
J'ai 2 tables que je veux joindre, dont une qui contient des attributs. Voici un bref exemple:
Table: USERS
Champ1: id
Champ2: email
Table: ATTRIBUTES
Champ1: userid (donc clé pour le join avec USERS.id)
Champ2: attributeid (1, 2, 3, 4, 5, etc. 'nommés' dans une autre table)
Champ3: value
Pour mon exemple:
attributeid=1 = Prénom
attributeid=2 = Nom de famille
attributeid=3 = Adresse
etc.
Comme résultat de requête, je veux un tableau qui comprendra les champs suivants:
id email Prénom Nom de famille Adresse
1 john@mail.com John Doe 123 de la rue
2 jane@mail.com Jane Doe 234 de l'Avenue
3 gil@mail.com Gil Brown 345 du Boulevard
etc.
Comment dois-je écrire ma requête pour parvenir à ce résultat ? Tout ce que je réussis à faire avec le peu de connaisances que j'ai est de sortir le id, l'email, suivi d'UN des attributs de mon choix, mais je ne sais pas comment en choisir plusieurs et les énumérer de la manière appropriée.
Voici la requête que je fais:
(2 si je veux le nom de famille, 3 si je veux l'adresse, etc.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT id, email, value AS 'Prénom' FROM users JOIN attributes ON users.id=attributes.userid WHERE attribute=1
Mais je veux TOUS les attributs de mon choix pour un même USER.id sur la même ligne.
Pouvez-vous m'aider ?
Merci d'avance!
Marco
Partager