我正在尝试创建一个论坛,只有创建者可以访问该主题。然后,他们可以在论坛上与其他用户共享访问权限。目标是构造一个查询,该查询将提取与您共享或拥有的所有线程。我的数据库中有三个表
我尝试使用INNER JOIN。
此查询仅提取您拥有的测试
SELECT
`id`,
`content`,
`users`.`username` as `owner`
FROM
`threads`
INNER JOIN
`users`
ON
`users`.`.id` = `threads`.`owner_id`
WHERE
`threads`.`owner_id` = ?
ORDER BY
`threads`.`id`
我似乎无法联接另一个表进行查询。我需要将WHERE
扩展为
OR ? is in `shared_threads`
答案 0 :(得分:0)
可能您需要在这里左加入。 试试这个查询
select t.id, t.content, u.username as owner
from threads t
left join shared_threads st on st.thread_id = t.id
inner join users u on u.id = t.owner_id
where t.owner_id = 2 or st.user_id = 2