关于Case when 的问题

lostvivi 2007-10-29 01:14:49
select distinct b.location from imp_bb_mod a,ch_bb b, ch_ll c 
where DECODE(a.old_ll_number,NULL, a.ll_number,a.old_ll_number) = c.l_number

上面是Oracle中的查询语句,下面是在SQLServer中的查询语句

select distinct b.location
from imp_bb_mod a,ch_bb b, ch_ll c
where
c.l_number= case a.old_l_number when null then a.l_number else a.old_l_number end


SQLServer中的是我写的,不知道是哪里用错了,有数据却查不出来数据,请大家帮忙看看
...全文
74 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pt1314917 2007-10-29
  • 打赏
  • 举报
回复
那个高手已经把答案都贴出来了。。。。。。
fa_ge 2007-10-29
  • 打赏
  • 举报
回复
楼上正解
dobear_0922 2007-10-29
  • 打赏
  • 举报
回复
--or
select distinct b.location
from imp_bb_mod a,ch_bb b, ch_ll c
where
c.l_number= case when a.old_l_number is null then a.l_number else a.old_l_number end
dobear_0922 2007-10-29
  • 打赏
  • 举报
回复
select distinct b.location 
from imp_bb_mod a,ch_bb b, ch_ll c
where
c.l_number=isnull(a.old_l_number,a.l_number)

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧