日期:2014-05-17  浏览次数:20416 次

求助,关于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