php - 如果它存在于其他表中,phpmysql 会显示一些东西
问题描述
我有 3 个表 1.是用户 2.是内容 3.是选项
所以我只想通过用户表显示(用户+内容)显示所有内容,但我只想通过选项表添加一些值条件,(内容ID)也必须与(选项ID)匹配。因此,如果匹配,则必须显示 1,否则显示 0。
(用户+内容)如果选项有一些与内容ID匹配的行ID必须在内容行中显示1
所有内容必须与用户和内容一起显示,但只需在选项表中添加一个行条件。
(内容 + 用户)如果内容 id 与选项表中的 id 匹配,则为 1 或 0
基本上我们可以通过使用 where 到所有行来检查添加内容 id,但我只是想要一种更快的方法。所以它有办法吗?
解决方案
您的问题很难理解,但我认为您希望options
在加入users
and后基于表格设置一个标志content
。
如果是这样,您可以使用exists
:
select . . .,
(case when exists (select 1
from options o
where o.content_id = c.content_id and o.option = 1
)
then 1 else 0
end)
from users u join
content c
on . . .
推荐阅读
- java - 如何使 java jar 在特定日期/时间过期
- xml - 全文链接即将到来
- null - 如何理解 GraphQL 中的空边和节点
- vue.js - 在 Vue 测试中使用 Jest 调用方法
- php - 使用 Ajax 在下拉列表中显示与城市关联的地址
- php - 循环由关联数组组成的数组
- javascript - 为什么 new Date('2015-07-01 01:00:00+00:00') 适用于 chrome 但不适用于 safari?
- python - 根据每行前一行中的值更新熊猫数据框当前行属性
- h.264 - 如何将切片分离为多个切片h264流中的独立帧?
- java - 如何仅替换列表的第一个元素
使用 java 流而不对列表的其余部分进行任何更改?