[英]MySQL: Select rows where `project_id` equals any `project` with specific `user_id`
这不能太难,但是我不知道我要寻找的术语。 我敢肯定,你们可以帮助我。 :)
我有一个表tasks
其中行具有列project_id
。 每个project_id
引用projects
表中的一行(的id
)。 每个project
属于某个user
,这就是为什么它有一列user_id
。
我现在要从此表中选择所有tasks
,其中project_id
等于某个user
任何project
。
每个任务都属于一个项目,该项目属于一个用户。
我想创建一个SELECT语句来接收属于特定USER的所有任务。 每个任务和一个用户之间的唯一链接是通过项目。
我该如何完成?
非常感谢您的帮助! :)
JOIN
表格:
SELECT
t.*
FROM tasks t
INNER JOIN projects p ON t.project_id = p.project_id
INNER JOIN users u ON p.user_id = u.user_id
WHERE u.user_id = @AcertianUserId
SELECT
tasks.*
FROM
users
INNER JOIN
projects ON users.id = projects.user_id
INNER JOIN
tasks ON projects.id = tasks.project_id
WHERE
users.id = 1
尝试:
SELECT t.*
FROM user u, projet p, task t
WHERE u.id = p.user_id
AND p.id = t.project_id
AND u.id = your_id
或(相同结果):
SELECT t.*
FROM user u
INNER JOIN projet p ON u.id = p.user_id
INNER JOIN task t ON p.id = t.project_id
WHERE u.id = your_id
select t.*
from tasks t
join projects p on p.id = t.project_id
join users u on u.id = p.user_id
where u.id = 17
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.