gpt4 book ai didi

如果子项不存在,Mysql 将行显示为空

转载 作者:行者123 更新时间:2023-11-29 05:12:50 24 4
gpt4 key购买 nike

查询结果

SELECT CFV.VALUE, CF.NAME
FROM CONTACTFIELD CF LEFT JOIN
CONTACTFIELDVALUE CFV
ON CF.ID = CFV.FIELDID AND CF.ORID = CFV.ORID
WHERE CFV.CONTACTID = 81 AND CFV.ORID = 976

Value Name
22 fld1
33 fld2
44 fld3

CONTACTFIELD 有 5 行

fld1fld2fld3fld4fld5

所以如果值不存在,我希望我的查询返回 null 例如:

Value Name
22 fld1
33 fld2
44 fld3
null fld4
null fld5

我该如何管理它?谢谢!

最佳答案

当使用 LEFT JOIN 时,第二个 表的条件需要放在 ON 子句中:

SELECT CFV.VALUE, CF.NAME
FROM CONTACTFIELD CF LEFT JOIN
CONTACTFIELDVALUE CFV
ON CF.ID = CFV.FIELDID AND CF.ORID = CFV.ORID AND
CFV.CONTACTID = 81 AND CFV.ORID = 976 ;

如果它们进入 WHERE 子句,那么它将把 LEFT JOIN 变成 INNER JOIN(因为 NULL 值不符合条件)。

第一个 表的条件应该放在WHERE 子句中。

关于如果子项不存在,Mysql 将行显示为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37049678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com