從第一個表中提取數據,使用第二個表中的數據
P粉885035114
P粉885035114 2023-09-10 12:00:30
0
1
478

首先,我找不到合適的問題名稱,如果有人能找到更好的名稱,如果他們編輯,我將非常感激。我是SQL的新手,我有以下問題:我有兩個表格如下

Member -> Name,UID(主鍵),SupervisorUID。 WorkPlace -> WP_UID(主鍵),Name,SupervisorUID。

我需要建立一個查詢,返回在WorkPlace 'X'中工作的成員的姓名以及他們的上級的姓名。

我嘗試使用內連接,但我無法實現我想要的結果。主要問題是,我如何透過WorkPlace名稱選擇,並取得成員姓名和上級姓名。

上級也是一個成員,所以,WorkPlace.SupervisorUID應該與Member.UID匹配

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

我需要找到在Y上放什麼。

我需要找到如何透過從工作場所取得uid,然後進入成員表,找到與該主管uid相符的uid並取得姓名的方法。

Member
Jeremy 123 421
Jack 421 421
WorkPlace
1 France 421

我想返回以下表格,

Jeremy Jack

P粉885035114
P粉885035114

全部回覆(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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板