INNER JOIN même table
Je suis en train d'essayer d'obtenir quelques lignes à partir de la même table. C'est une table utilisateur: l'utilisateur a user_id
et user_parent_id
.
J'ai besoin d'obtenir le user_id
ligne et user_parent_id
ligne. J'ai codé quelque chose comme ceci:
SELECT user.user_fname, user.user_lname
FROM users as user
INNER JOIN users AS parent
ON parent.user_parent_id = user.user_id
WHERE user.user_id = $_GET[id]
Mais il ne montre pas les résultats. Je veux afficher l'enregistrement de l'utilisateur et de son enregistrement parent.
OriginalL'auteur user1718343 | 2013-02-10
Vous devez vous connecter pour publier un commentaire.
Je pense que le problème est dans votre
JOIN
condition.Modifier:
Vous devriez probablement utiliser
LEFT JOIN
si il y a des utilisateurs avec pas de parents.Jamais, jamais, jamais PLUS magasin de données délimité comme ça dans les colonnes.
OriginalL'auteur Ronnis
Peut-être cela devrait être le sélectionner (si je comprends correctement à la question)
OriginalL'auteur Ed Heal
Votre requête doit bien fonctionner, mais vous devez utiliser l'alias
parent
pour afficher les valeurs de la table parent comme ceci:OriginalL'auteur Mahmoud Gamal
Vous pouvez également utiliser de l'UNION comme
OriginalL'auteur Prashant16
Je ne sais pas comment la table est créée, mais essayez ceci...
OriginalL'auteur ioses
Permet d'essayer de répondre à cette question, avec un bon scénario simple, avec 3
MySQL
tables c'est à dire datetable, colortable et jointable.première voir les valeurs de
table
datetable avecprimary key
attribué àcolumn
dateid:maintenant passer à notre deuxième
table
valeurs colortable avecprimary key
attribué àcolumn
colorid:et notre dernière troisième
table
jointable ont pasprimary keys
et les valeurs sont:Maintenant notre condition est de trouver le dateid de, qui ont à la fois couleur valeurs bleu et jaune.
Ainsi, notre question est:
Espoir, cela aiderait beaucoup.
OriginalL'auteur ArifMustafa