【发布时间】:2016-07-06 11:53:42
【问题描述】:
我有 3 张桌子 com_co、sim、clist
$list = "SELECT com_co.*, sim.*, clist.*
FROM com_co
INNER JOIN sim
ON sim.id = com_co.component_id
INNER JOIN clist
ON com_co.complex_id = clist.id AND IS NOT NULL
WHERE comp_c_code = '$rowId'";
如果我删除第二个INNER JOIN,查询就会运行,但我无法从clist 获取数据。表com_co 中的列complex_id 可以是null。如果它是not null 并且有一个值(来自clist 的id)我希望能够使用ID 从clist 获取数据。
如果我运行这个查询,我不会得到任何返回的数据。
【问题讨论】:
-
com_co.complex_id = clist.id AND IS NOT NULL不是有效的 SQL 表达式。 -
我认为这会起作用 SELECT com_co.*, sim.*, clist.* FROM com_co INNER JOIN sim ON sim.id = com_co.component_id INNER JOIN clist ON com_co.complex_id = clist.id AND com_co.complex_id 不为空,其中 comp_c_code = '$rowId'
-
@astroanu 不幸的是没有