我有一个有 11 个表的数据库。
包含 15 个字段,其中tables A
10 个包含来自另一个表的 id 或 0 值。这些表中的每一个都有两个字段,id
并且description
.
如果 id 为 0 ,我将查询 db 以在 id 或 null 的位置获取table A
权限description
。
我必须使用什么?加入、左加入还是内加入?如何?
使用此语句选择描述并使用表的其余表的左连接:
IF(id = 0, NULL, description)
例子:
SELECT A.* , IF(A.bid = 0, NULL, B.description) , IF(A.cid = 0, NULL, C.description)
from tablea A
LEFT JOIN tableb B on A.bid = B.id
LEFT JOIN tablec C on A.cid = C.id
等等....
左连接
SELECT * FROM A
LEFT JOIN B ON (A.KEY=B.KEY)
当无法加入时你会得到 Null