SQL三表联合查询(有NULL记录)
SQL三表联合查询问题:3个表:T1、T2、T3,逐级一对多,但T3中有记录与T2无关联,直接与T1关联,如图所示。用直接内联(INNERJOIN)不行,有NULL项丢失...
SQL三表联合查询问题: 3个表:T1、T2、T3,逐级一对多,但T3中有记录与T2无关联,直接与T1关联,如图所示。
用直接内联(INNER JOIN)不行,有NULL项丢失。肯请高手指教。
谢谢各位的热情。经测试,不能输出所要的结果。
注意:T2的第2条记录在T3中没有相关记录,
T3的第2条记录与T2没有关联,直接与T1的第1条记录关联。
3位的查询语句均不能得到输出结果要求。 展开
用直接内联(INNER JOIN)不行,有NULL项丢失。肯请高手指教。
谢谢各位的热情。经测试,不能输出所要的结果。
注意:T2的第2条记录在T3中没有相关记录,
T3的第2条记录与T2没有关联,直接与T1的第1条记录关联。
3位的查询语句均不能得到输出结果要求。 展开
3个回答
展开全部
外连接既可
select a.*,b.*,c.*
from a left outer join b on a.id=b.id
left outer c on a.id =c.id
你好歹把连接条件改改啊:
select t1.id,t1.name,t2.ca,t3.hi
from t1 left outer join t2 on t1.id=t2.t1_id
left outer t3 on t1.id =t3.t1_id and t2.id = t3.t2_id
select a.*,b.*,c.*
from a left outer join b on a.id=b.id
left outer c on a.id =c.id
你好歹把连接条件改改啊:
select t1.id,t1.name,t2.ca,t3.hi
from t1 left outer join t2 on t1.id=t2.t1_id
left outer t3 on t1.id =t3.t1_id and t2.id = t3.t2_id
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在查询条件後面加一个条件
and t2_id<>null
and t2_id<>null
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select t1.id,t1.name,t2.ca,t3.hi
from t3 left outer join
t2 on t3.t2_id=t2.id left outer join
t1 on t1.id=t2.t1_id and t1.id=t3.t1_id
from t3 left outer join
t2 on t3.t2_id=t2.id left outer join
t1 on t1.id=t2.t1_id and t1.id=t3.t1_id
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询