2

我有一个有 11 个表的数据库。

包含 15 个字段,其中tables A10 个包含来自另一个表的 id 或 0 值。这些表中的每一个都有两个字段,id并且description.

如果 id 为 0 ,我将查询 db 以在 id 或 null 的位置获取table A权限description

我必须使用什么?加入、左加入还是内加入?如何?

4

2 回答 2

1

使用此语句选择描述并使用表的其余表的左连接:

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 

等等....

于 2012-11-23T09:50:47.663 回答
0

左连接

SELECT * FROM A 
    LEFT JOIN B ON (A.KEY=B.KEY)

当无法加入时你会得到 Null

于 2012-11-23T09:49:58.130 回答