在我的数据库中有4个表,我想从这些表中加入一些条目。如果4个表的条目都已填充,我可以得到结果。但是如果其中一个条目没有填充数据库中的数据意义我就得不到结果。我尝试将列更改为null,如果它们为空仍然没有结果。我正在使用INNER JOIN
,我的查询是这样的。我在这里看到的问题是,当其中一列具有空值时,我无法选择该表,因此我的查询未触发。我需要为所有表创建一个完整的条目才能触发查询以获得结果。任何想法都表示赞赏
SELECT * FROM
tbl1 t1 INNER JOIN
tbl2 t2 ON
t1.t1_id = t2.t1_id INNER JOIN
tbl3 t3 ON
t2.t3_id= t3.t3_id INNER JOIN
tbl4 t4 ON t2.t4_id = t4.t4_id INNER JOIN
tbl5 t5 ON t2.t5_id = t5.t5_id WHERE t5.t5_name LIKE ? AND t4.t4_name LIKE ? AND t3.t3_name LIKE ? AND t1.t1_name LIKE ?
UPDATE
示例如果t2中的t5_id为null,则查询不返回任何结果。如果t2中的任何ID(t1_id,t3_id,t4_id,t5_id)为空,则它不返回值。但是如果id已经完成,那么它将返回值
t2 table
陈述
t2_sysid t1_id t3_id t4_id t5_id
1 1 1 1 1
2 2 2
3 3 3 3 3
在此示例中,如果我搜索条目2,则无法找到它,因为t4_id和t5_id为空但可以找到1和3,因为它们不是空的