MySql多个连接关系表

时间:2014-07-04 21:21:51

标签: mysql sql

我有查询

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

我有一个客户端,一个任务和一个项目表。 client_task表保持客户端和taask表的对象之间的关系。我还有一个名为project_task的表,我想检查所选任务是否与给定的项目相关...

这是否可能,或者我需要第二次查询?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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)