簡體   English   中英

ID匹配的MySQL查詢或另一個表中有引用

[英]MySQL query where ID matches OR there is a reference in another table

我正在嘗試創建一個論壇,只有創建者可以訪問該線程。 然后,他們可以在論壇上與其他用戶共享訪問權限。 目標是構造一個查詢,該查詢將提取與您共享或擁有的所有線程。 我的數據庫中有三個表

  • 用戶(包含所有用戶的列表)
  • 線程(包含所有線程)
  • Shared_Threads(包含與線程相關的用戶ID列表)

我試圖使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM