SQL:包含10个字段的表,其中包含来自其他表的ID或0(内部或左侧连接以“读取”表?)

时间:2012-11-23 09:46:06

标签: mysql sql

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

tables A包含15个字段,其中10个字段包含来自另一个表的id或0值。 这些表中的每一个都有两个字段iddescription

我会查询数据库以获取id为table A的{​​{1}},如果id为0,则为null。

我必须使用什么?加入,左或内连接?如何?

2 个答案:

答案 0 :(得分:1)

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

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 

依旧......

答案 1 :(得分:0)

左连接

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

并且当无法加入时你得到Null