当前位置: 代码迷 >> Sql Server >> ,关于3表联合查询
  详细解决方案

,关于3表联合查询

热度:63   发布时间:2016-04-27 11:29:03.0
求助,关于3表联合查询
表 S
userid bid cid
1 1 1
2 2 2

表B
bid bname
1 名称1
2 名称2

表 C

cid cname
1 名称1
2 名称2

现在的问题是表S里的cid有可能为默认值0

我用
select b.bname,c.cname from S a, B b, C c where b.bid=a.bid and c.cid=a.cid and a.userid=1

查出来的结果是空。。

我的目的是 根据userid提取出表S的BID,CID,再分别提取出bname ,cname, 如果查不到cid,则返回空

查出的结果类似

bname cname
名称一
名称二 名称
名称三
名称死 名称



------解决方案--------------------
SQL code
select b.bname,c.cname from S a left join  B b on b.bid=a.bid                                left join  C c  on c.cid=a.cid where a.userid=1
  相关解决方案