Tout d'abord, je ne trouve pas de nom approprié pour la question, si quelqu'un peut trouver un meilleur nom, je lui serais très reconnaissant de le modifier. Je suis nouveau sur SQL et j'ai la question suivante : j'ai deux tables comme suit
Membre -> Nom, UID (clé primaire), SupervisorUID. WorkPlace -> WP_UID (clé primaire), Nom, SupervisorUID.
Je dois créer une requête qui renvoie les noms des membres travaillant dans WorkPlace 'X' et les noms de leurs supérieurs.
J'ai essayé d'utiliser des jointures internes mais je n'ai pas pu obtenir le résultat souhaité. La question principale est de savoir comment puis-je sélectionner par nom WorkPlace et obtenir le nom du membre et le nom du supérieur.
Supervisor est également membre, donc WorkPlace.SupervisorUID doit correspondre à Member.UID
SELECT Member.Name, Y INNER JOIN WorkPlace on WorkPlace.SupervisorUID = Member.UID WHERE WorkPlace.Name = 'France'
Je dois trouver quoi mettre sur Y.
Je dois trouver comment trouver l'uid qui correspond à l'uid de ce superviseur et obtenir le nom en obtenant l'uid sur le lieu de travail, puis en accédant à la table des membres.
Member Jeremy 123 421 Jack 421 421
WorkPlace 1 France 421
Je souhaite retourner le formulaire suivant,
Jeremy Jack
Je pense que vous devez le faire
Member
中添加WP_UID
作为一列。我不确定mysql
的语法是否相同,但是如果你在Member
中添加WP_UID
, le code suivant fonctionnera dans MS SQL Server :J'ai ajouté
M1.UID<>M1.SupervisorUID
pour que le superviseur ne soit pas affiché.Vous pouvez également partir de
Member
中删除SupervisorUID
et utiliser le code suivant :