没分了!保存中间值的问题

abcd4321 2003-10-15 03:06:14
insert table1
select id,name,case when (select sum(table3.count) from table3
where table3.id=table2.id)>0 then (select sum(table3.count) from table3
where table3.id=table2.id) else 0 end
from table2
--------------------------------------------------------------------

问题:
then 后面的(select sum(table3.count) from table3
where table3.id=table2.id) else 0 end
总觉得麻烦,我应该怎么得到这个值,因为上面when 后面的语句和then 后面语句查询出来的结果是一样的,再有else 后面怎么用默认值?我用的是else default end
但是不行!报错!
...全文
47 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
abcd4321 2003-10-15
  • 打赏
  • 举报
回复
上面的cnt是什么?是系统自定义的变量么?
txlicenhe 2003-10-15
  • 打赏
  • 举报
回复
try:
insert table1
select id,name,case when aa.cnt>0 then aa.cnt else 0 end
from table2
join (select id,sum(count) as cnt from table3 group by id) aa
on table2.id = aa.id


34,588

社区成员

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

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