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
我认为你需要在
Member
中添加WP_UID
作为一列。我不确定mysql
的语法是否相同,但是如果你在Member
中添加WP_UID
,以下代码在MS SQL Server中可以工作:我添加了
M1.UID<>M1.SupervisorUID
以便不显示主管。你也可以从
Member
中删除SupervisorUID
并使用以下代码: