没有符合条件的记录但是也不为null怎么办

Kingofcode 2013-07-10 12:05:42
问题是这样的,我有一个查询想查出符合条件的某字段的值然后相加;
但是实际情况是没有符合条件的记录结果也不为null

select Numb=100+isnull(sum(isnull(d2.numb,0)),0)
---COALESCE(SUM(d2.numb),0)
---Sum(d2.numb)
from A as d1,B as d2
where d1.id = d2.xh and Finishdate is null
Group By d2.code
Having d2.code = '107-A'

这条记录我理想的结果是如果有符合条件的记录 就用100+上取出的记录,如果没有符合条件的至少为100吧 但是实际情况是什么都没有

求赐教
...全文
107 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzw_0736 2013-07-10
  • 打赏
  • 举报
回复
declare @Numb int set @Numb=100+ isnull( ( sum(isnull(d2.numb,0)) ---COALESCE(SUM(d2.numb),0) ---Sum(d2.numb) from A as d1,B as d2 where d1.id = d2.xh and Finishdate is null Group By d2.code Having d2.code = '107-A' ),0) select @Numb
铁歌 2013-07-10
  • 打赏
  • 举报
回复
select Numb=100+s.sum_num
from 
(
    select d2.Numb,isnull(sum(isnull(d2.numb,0)),0) as sum_num
    from A as d1,B as d2
    where d1.id = d2.xh and Finishdate is null
    Group By d2.code
    Having d2.code =  '107-A'
) s
Kingofcode 2013-07-10
  • 打赏
  • 举报
回复
楼上的少了一个Select 这样改一下可以 但是为什么我直接使用isnull不行呢

declare @Numb int
select @Numb=100+
isnull(
(select 
sum(isnull(d2.numb,0))
---COALESCE(SUM(d2.numb),0)
---Sum(d2.numb)
    from A as d1,B as d2
    where d1.id = d2.xh and Finishdate is null
    Group By d2.code
    Having d2.code =  '107-A'
),0)
select @Numb

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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