首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > IBM DB2 >

求一条件查询语句,请大家帮帮忙,该怎么处理

2012-02-23 
求一条件查询语句,请大家帮帮忙taba表idbidaidnametabb表idname现在a表中的bid可能为空也可能是tabb表的一

求一条件查询语句,请大家帮帮忙
taba   表   id     bid     aid     name
        tabb   表   id     name
    现在   a表中的bid可能为空也可能是tabb表的一个主健id,aid是taba表的一个主健也可能为空,现在我要取出taba表的所有记录,当bid不为空的时候,我取bid对应的name,当aid不为空我取对应name,如下:
  select   a.id   ,b.name,c.name   a.name   from   taba   a,tabb   b,taba   c   where  
        a.bid=b.id   and   a.aid=c.id  
但是这样只能把bid和aid不为空的记录提取出来,bid或aid为空,或者bid、aid都为空的记录就取不出来了;请大家给写一个;谢谢

[解决办法]
select a.id,case when a.bid <> ' ' then b.name else a.name
end from taba as a left join tabb as b on a.bid=b.id

当aid不为空我取对应name---这句没明白
我现在写的是当bid不为空(我写的是 ' ',你可以改称is not null,我不知道你具体的要求)
显示tabb的name,否则显示taba的name

热点排行