id name piid siid oiid
1 网 12 13 14
2 里 10 12 15
3 红 15 11 12
4 瓦 10 11
5 过 10
6 红 15
表B:
bid bname
10 执行
11 不执行
12 退出
13 准确
14 排错
15 处理
16 通过
A表的piid、siid、oiid都关联B表的bid,通过查询将A表里面的piid、siid、oiid都显示为bname字段内容,这个可以通过建立多个B表来实现,但是如果A表里面的piid、siid、oiid有一个为空的话,A表的ID4、5、6就不会出现在查询里面,现在怎么解决这个问题,关联B表后让查询的A表内容都显示出来?
6 个解决方案
#1
sql语句可以实现就结贴。
#2
Select * From b left outer join a on a.piid = b.id and a.siid= b.id and a.oiid = b.id
如果为空 就会显示null
如果为空 就会显示null
#3
额 发错了 楼主的问题没看清
#4
select t1.id,t1.name,t2.bname,t3.bname,t4.bname
from a t1
inner join b t2 on t2.bid=t1.piid
inner join b t3 on t3.bid=t1.siid
inner join b t4 on t4.bid=t1.oiid
from a t1
inner join b t2 on t2.bid=t1.piid
inner join b t3 on t3.bid=t1.siid
inner join b t4 on t4.bid=t1.oiid
#5
a left outer b
楼主试试吧
楼主试试吧
#6
用一个外连接就可以了,我已经实现了,多谢了。
#1
sql语句可以实现就结贴。
#2
Select * From b left outer join a on a.piid = b.id and a.siid= b.id and a.oiid = b.id
如果为空 就会显示null
如果为空 就会显示null
#3
额 发错了 楼主的问题没看清
#4
select t1.id,t1.name,t2.bname,t3.bname,t4.bname
from a t1
inner join b t2 on t2.bid=t1.piid
inner join b t3 on t3.bid=t1.siid
inner join b t4 on t4.bid=t1.oiid
from a t1
inner join b t2 on t2.bid=t1.piid
inner join b t3 on t3.bid=t1.siid
inner join b t4 on t4.bid=t1.oiid
#5
a left outer b
楼主试试吧
楼主试试吧
#6
用一个外连接就可以了,我已经实现了,多谢了。