Extraire les données de la première table, en utilisant les données de la deuxième table
P粉885035114
P粉885035114 2023-09-10 12:00:30
0
1
486

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

P粉885035114
P粉885035114

répondre à tous(1)
P粉071626364

Je pense que vous devez le faire Member中添加WP_UID作为一列。我不确定mysql的语法是否相同,但是如果你在Member中添加WP_UID, le code suivant fonctionnera dans MS SQL Server :

SELECT M1.Name, M2.Name
  FROM Member AS M1
  INNER JOIN WorkPlace AS WP on WP.WP_UID = M1.WP_UID
  INNER JOIN Member AS M2 on M2.UID = M1.SupervisorUID
  WHERE WP.Name = 'France' AND M1.UID <> M1.SupervisorUID

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 :

SELECT M1.Name, M2.Name
  FROM Member AS M1
  INNER JOIN WorkPlace AS WP on WP.WP_UID = M1.WP_UID
  INNER JOIN Member AS M2 on M2.UID = WP.SupervisorUID
  WHERE WP.Name = 'France' AND M1.UID <> WP.SupervisorUID
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal