簡體   English   中英

在MySQL中,需要將兩個表連接起來,其中一個表對第二個表有多個引用

[英]In MySQL, need to join two tables with one table having multiple references to the second

我有兩個表,一個是注冊表,表中包含兩個字段,firstchoice和secondchoice。 另一個是時間表,其中包含開始日期和結束日期以及一個學期。 注冊表中的firstchoice和secondchoice都引用了計划表中的semesterid。 我正在嘗試創建一個頁面,該頁面顯示所有注冊人員及其注冊的時間表(開始日期和結束日期)以及我當前的查詢:

$query = "SELECT * FROM signups INNER JOIN (schedule) ON signups.firstchoice=schedule.semesterid AND signups.secondchoice=schedule.semesterid";

沒有從計划表返回任何結果。 是否可以這樣連接兩個表,一個表上的兩列引用另一表上的一列?

我認為您正在尋找:

SELECT * 
FROM signups s
INNER JOIN schedule sc1 ON s.firstchoice=sc1.semesterid 
INNER JOIN schedule sc2 ON s.secondchoice=sc2.semesterid 

如果他們並不總是有第二選擇,那么您可能需要這樣做:

SELECT * 
FROM signups s
INNER JOIN schedule sc1 ON s.firstchoice=sc1.semesterid 
LEFT OUTER JOIN schedule sc2 ON s.secondchoice=sc2.semesterid 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM