2014-07-04 130 views
0

我有查詢MySql的多個聯接與關係表

SELECT task.* FROM task 
     JOIN client_task ON task.ID=client_task.taskid 
     WHERE client_task.clientid = 2 

我有一個客戶,任務和項目表。 client_task表保持客戶端和taask表的對象之間的關係。我有一個名爲project_task的表,我想檢查選定的任務是否與給定的投影相關...

這是不是有可能或者我需要第二個查詢?

回答

1

可以很容易地添加其他加盟。是的,這應該是一樣的。

SELECT 
    task.* 
FROM 
    task 
JOIN client_task 
    ON task.ID = client_task.taskid 
JOIN project_task 
    ON task.ID = project_task.taskid 
WHERE 
    client_task.clientid = 2 
AND 
    project_task.projectid = <given projectid> 
+0

完美,非常感謝你 – user3718058

+0

這是正確的答案是肯定的,並很好地格式化太:) – DarkSide

+0

@ user3718058不客氣! – VMai

0

我不知道我是否瞭解你的行爲。

請嘗試此查詢:

select * from project_task where taskid in (SELECT task.id FROM task 
     JOIN client_task ON task.ID=client_task.taskid 
     WHERE client_task.clientid = 2)