Extrahieren Sie Daten aus der ersten Tabelle und verwenden Sie dabei Daten aus der zweiten Tabelle
P粉885035114
P粉885035114 2023-09-10 12:00:30
0
1
474

Zuallererst kann ich keinen passenden Namen für die Frage finden. Wenn jemand einen besseren Namen finden kann, wäre ich sehr dankbar, wenn er ihn bearbeiten würde. Ich bin SQL-Neuling und habe folgende Frage: Ich habe zwei Tabellen wie folgt

Mitglied -> Name, UID (Primärschlüssel), SupervisorUID. WorkPlace -> WP_UID (Primärschlüssel), Name, SupervisorUID.

Ich muss eine Abfrage erstellen, die die Namen der in WorkPlace „X“ arbeitenden Mitglieder und die Namen ihrer Vorgesetzten zurückgibt.

Ich habe versucht, Inner Joins zu verwenden, konnte aber nicht das gewünschte Ergebnis erzielen. Die Hauptfrage ist, wie kann ich nach WorkPlace-Namen auswählen und den Namen des Mitglieds und des Vorgesetzten erhalten?

Supervisor ist auch Mitglied, daher sollte WorkPlace.SupervisorUID mit Member.UID übereinstimmen

SELECT Member.Name, Y
INNER JOIN WorkPlace on WorkPlace.SupervisorUID = Member.UID
WHERE WorkPlace.Name = 'France'

Ich muss herausfinden, was ich auf Y anziehen kann.

Ich muss herausfinden, wie ich die UID finde, die mit der UID dieses Vorgesetzten übereinstimmt, und den Namen erhalte, indem ich die UID vom Arbeitsplatz erhalte und dann in die Mitgliedertabelle gehe.

Member
Jeremy 123 421
Jack 421 421
WorkPlace
1 France 421

Ich möchte das folgende Formular zurücksenden,

Jeremy Jack

P粉885035114
P粉885035114

Antworte allen(1)
P粉071626364

我认为你需要在Member中添加WP_UID作为一列。我不确定mysql的语法是否相同,但是如果你在Member中添加WP_UID,以下代码在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

我添加了M1.UID<>M1.SupervisorUID以便不显示主管。

你也可以从Member中删除SupervisorUID并使用以下代码:

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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage