[英]Use result from query in same query?
我有一個MySQL問題,我想知道答案是否在於使用聯接。 如果標題令人困惑或誤導,我謹此致歉。
我有2張桌子:團隊,承包商
TEAMS
|team_id | location|
--------------------
| 1 | space1 |
--------------------
| 2 | space2 |
--------------------
| 3 | space3 |
--------------------
CONTRACTORS
|cont_id | location| team_id|
-----------------------------
| 1 | space1 | 1 |
-----------------------------
| 2 | space1 | 0 |
-----------------------------
| 3 | space3 | 3 |
-----------------------------
| 4 | space3 | 3 |
-----------------------------
| 5 | space3 | 0 |
-----------------------------
我想創建一個查詢,以查找位於特定位置的所有承包商。 問題是,我只知道team_id。 (CONTRACTORS表中的team_id = 0
表示承包商目前不屬於團隊)。
例如,我給出的team_id = 3.
隊與team_id = 3
位於空間3。 我想找到所有位於space3的承包商(在此示例中,cont_id = 3、4、5)。
有沒有一種方法可以通過單個MySQL查詢來實現? 還是我需要執行查詢以獲取團隊的位置,然后進行第二次查詢以找到該位置的所有承包商?
select location
from CONTRACTORS
inner join TEAMS on TEAMS.location = CONTRACTORS.location and TEAMS.team_id = 3
您可以使用加入
SELECT t.*,c.*
FROM TEAMS
INNER JOIN CONTRACTORS c
ON c.team_id = t.team_id
WHERE t.team_id = 3
一個SQL查詢:
SELECT cont_id
FROM teams, contractors
WHERE teams.location = contractors.location
AND teams.team_id = 3;
將“ 3”替換為所需的團隊。
注意:此查詢僅返回cont_id。 您沒有指定確切的需求,但是我猜測至少您需要使用cont_id來識別承包商。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.