为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL:限制 LEFT OUTER JOIN / Left outer join where

MySQL:限制 LEFT OUTER JOIN / Left outer join where

PHP
慕尼黑的夜晚无繁华 2023-05-26 17:11:50
我正在尝试从 custom_fields 加载所有条目,在 ID = fieldid 上与 custom_field_filter 左连接。但是我需要 JOIN 只发生在 custom_field_filter.formid = 6 的字段中。您可以看到名为 Status 的条目已加载 3 次,这是我不想要的。我只想加载 formid 为 6 的选定行,以及所有其他 custom_fields 行。基本上选择并显示整个 custom_fields 表 + 仅在 custom_Field_filter.formid=6 的情况下使用 custom_Field_filter 进行左连接。当然,如果我执行 WHERE 子句,它不会从 custom_fields 加载所有条目。那我该怎么做呢?
查看完整描述

1 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

在 ON 子句中添加带有 AND 运算符的相关子句


    SELECT `custom_fields`.*, `custom_field_filter`.`fieldid` as `selected` 

    FROM `custom_fields` 

    LEFT OUTER JOIN `custom_field_filter` 

    ON `custom_fields`.`ID` = `custom_field_filter`.`fieldid` 


        AND `custom_field_filter`.`formid` = 6


    ORDER BY `custom_fields`.`ID` ASC

左连接表上的 where 子句作为内部连接工作..而不是在 ON 子句上使用条件保留左连接


查看完整回答
反对 回复 2023-05-26
  • 1 回答
  • 0 关注
  • 89 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信