php - ID匹配或在另一个表中有引用的MySQL查询
问题描述
我正在尝试创建一个只有创建者才能访问该主题的论坛。然后,他们可以与论坛上的其他用户共享访问权限。目标是构建一个查询,该查询将提取与您共享或您拥有的所有线程。我的数据库中有三个表
- 用户(包含所有用户的列表)
- 线程(包含所有线程)
- 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
推荐阅读
- android - 如何在共享首选项上保存 RecyclerView 的 spanCount?
- javascript - 在javascript中追加将div转换为文本
- android - Glide在RecyclerView的条件句中乱码
- flutter - 颤振:[错误:颤振/lib/ui/ui_dart_state.cc(166)]未处理的异常
- c++ - PostgreSQL 无法访问
- php - 无法在 php 中创建具有相同项目名称的多个项目的数组
- xaml - 如何检测输入来自 UWP 中 TextBox 中的 IME?
- javascript - 为什么即使函数是异步的,这个函数调用也会抛出“await 仅在异步函数中有效”语法错误?
- class - 可以将框架视为一类类吗?
- mongodb - 如何使用 flask_mongoalchemy 在烧瓶中配置 Mongodb-Atlas?