Bonjour,
Je bloque actuellement sur une requête qui me semblait simple.
Deux tables :
user(id, name);
banned_list(id, id_User_Banned, id_Admin);
Je souhaiterais faire une requête qui m'affiche :
Name Admin || Name User banned
Merci
Bonjour,
Je bloque actuellement sur une requête qui me semblait simple.
Deux tables :
user(id, name);
banned_list(id, id_User_Banned, id_Admin);
Je souhaiterais faire une requête qui m'affiche :
Name Admin || Name User banned
Merci
C'est effectivement simple : il suffit de deux jointures.
Qu'as-tu essayé comme requête ?
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
J'ai finalement tester avec une double jointure comme tu me l'as préconisé en dupliquant ma table des users ce qui me donne :
user(id, name);
banned_list(id, id_User_Banned, id_Admin);
La requête fonctionne mais je ne pense pas que ça soit la requête optimal dans mon cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT u.name as userbanned, a.name as admin, b.id FROM user u, user a, banned_list b WHERE u.ID = b.id_User_Banned AND a.ID = b.id_Admin;
En dehors du fait que tu écris les jointures avec la syntaxe obsolète depuis 20 ans, c'est ça.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT u.name AS userbanned, a.name AS admin, b.id FROM banned_list b, INNER JOIN user u ON u.ID = b.id_User_Banned INNER JOIN user a ON a.ID = b.id_Admin
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager