首页 > 解决方案 > 如果它存在于其他表中,phpmysql 会显示一些东西

问题描述

我有 3 个表 1.是用户 2.是内容 3.是选项

所以我只想通过用户表显示(用户+内容)显示所有内容,但我只想通过选项表添加一些值条件,(内容ID)也必须与(选项ID)匹配。因此,如果匹配,则必须显示 1,否则显示 0。

(用户+内容)如果选项有一些与内容ID匹配的行ID必须在内容行中显示1

所有内容必须与用户和内容一起显示,但只需在选项表中添加一个行条件。

(内容 + 用户)如果内容 id 与选项表中的 id 匹配,则为 1 或 0

基本上我们可以通过使用 where 到所有行来检查添加内容 id,但我只是想要一种更快的方法。所以它有办法吗?

标签: phpsql

解决方案


您的问题很难理解,但我认为您希望options在加入usersand后基于表格设置一个标志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 . . . 

推荐阅读