导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

求助:如何对一张表中的同个字段取两个汇总结果

bingobird 2003-01-06 03:01:39
如有一张费用表(TPAY),有个金额字段(MONEY),一个标志字段(FLAG;1:有效;2:失效),如何在一条语句中根据标志汇总金额。
效果:
有效 失效
X Y

由于是在报表中用,所以不使用union联接。
...全文
16 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bingobird 2003-01-07
由于在汇总中存在按类型分组,但我使用的数据库又不支持case,有无其它方法?
回复
bingobird 2003-01-06
在线等待中。。。
回复
bingobird 2003-01-06
to XLYT(雨田):
由于是用在报表中,使用group会产生两条记录,但希望产生的是在一条记录中取得两个结果。
回复
XLYT 2003-01-06
select flag,sum(money) from tpay group by flag
回复
bingobird 2003-01-06
多谢各位,有没有不使用case的办法?比如说使用JOIN?

另:hjhing(winding)所说的第二条好像不能被执行?
回复
happydreamer 2003-01-06
实际上就是用case语句进行了行列转换
回复
ben988211 2003-01-06
同意楼上的
回复
brook_huang 2003-01-06
select sum(money) as money,flag from tpay
group by flag
回复
hjhing 2003-01-06
1:
select sum(case when flag=1 then [MONEY] else 0 end) as youXiao,
sum(case when flag=2 then [MONEY] else 0 end) as wuXiao
from tpay


2:
select
(select sum([money]) from tpay where flag=1 ) as youXiao,
(select sum([money]) from tpay where flag=2 ) as wuXiao
回复
CCEO 2003-01-06
select sum(case when flah=1 then [MONEY] else 0 end) as 有效,
sum(case when flah=2 then [MONEY] else 0 end) as 失效
from tpay
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告