[英]MySQL query where ID matches OR there is a reference in another table
我正在嘗試創建一個論壇,只有創建者可以訪問該線程。 然后,他們可以在論壇上與其他用戶共享訪問權限。 目標是構造一個查詢,該查詢將提取與您共享或擁有的所有線程。 我的數據庫中有三個表
我試圖使用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`
可能您需要在這里左加入。 試試這個查詢
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.