我正在尝试从 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 子句上使用条件保留左连接
- 1 回答
- 0 关注
- 89 浏览
添加回答
举报
0/150
提交
取消