日期:2014-05-18  浏览次数:20825 次

求一条sql语句:表a多个字段与表b的一个字段关联,表A数据不全的时候也可以显示
表A:
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表内容都显示出来?

------解决方案--------------------
Select * From b left outer join a on a.piid = b.id and a.siid= b.id and a.oiid = b.id

如果为空 就会显示null
------解决方案--------------------
额 发错了 楼主的问题没看清
------解决方案--------------------
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

------解决方案--------------------
a left outer b
楼主试试吧