一个简单的sql语句

fujunle 2007-11-14 01:03:26
create table tb(A1 int, A2 int, A3 int, A4 varchar(10))
insert into tb values(20, 1, 100, '类一 ')
insert into tb values(20, 0, 200, '类二 ')
insert into tb values(10, 1, 100, '类一 ')
insert into tb values(20, 0, 200, '类二 ')
go

select a1 = sum(case a2 when 0 then a1 else a1/100 end) , sum(a3) a3 , a4 from tb group by a4

drop table tb
/*
a1 a3 a4
------------------------------- ----------- ----------
40 400 类二
0 200 类一

(所影响的行数为 2 行)

*/
为什么 类一 的值不是0.4呢??
...全文
58 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kk19840210 2007-11-14
  • 打赏
  • 举报
回复


select a1=sum(case a2 when 0 then a1 else convert(float,a1)/100 end) ,sum(a3) a3 ,a4 from tb group by a4
中国风 2007-11-14
  • 打赏
  • 举报
回复
use test
go
select a1 =
sum(case a2 when 0 then cast( a1 as decimal(18,5)) else cast(a1*1.0/100 as decimal(18,5)) end) ,
sum(a3) a3 , a4
from tb
group by a4
fujunle 2007-11-14
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20071114/12/e87507c7-2cc9-46ed-bd8e-99a6b56472a6.html
顺便一起给分
fujunle 2007-11-14
  • 打赏
  • 举报
回复
select a1 = sum(case a2 when 0 then a1 else cast(a1 as float)/100*a3 end),sum(a3)a3,a4 from tb group by a4

drop table tb



cast(a1 as float)/100*a3
输出的值就不对了吧
dobear_0922 2007-11-14
  • 打赏
  • 举报
回复
select       a1       =       sum(case       a2       when       0       then       a1       else       1.0*a1/100       end)       ,       sum(a3)       a3       ,       a4       from       tb       group       by       a4   
jinjazz 2007-11-14
  • 打赏
  • 举报
回复
create       table       tb(A1       int,           A2       int,           A3       int,           A4       varchar(10))   
insert into tb values(20, 1, 100, '类一 ')
insert into tb values(20, 0, 200, '类二 ')
insert into tb values(10, 1, 100, '类一 ')
insert into tb values(20, 0, 200, '类二 ')
go

select a1 = sum(case a2 when 0 then a1 else cast(a1 as float)/100 end) , sum(a3) a3 , a4 from tb group by a4

drop table tb

34,588

社区成员

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

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