首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

T-Sql有关问题

2013-01-28 
T-Sql问题求助。select UnsubmittedCount (case when ApproveStatus in (未提交, 已提交) then count

T-Sql问题求助。


select UnsubmittedCount = (case when ApproveStatus in ('未提交', '已提交') then count(FormID) end),
ApprovedCount = (case when ApproveStatus in ('已审核') then count(FormID) end)
from formLogistic
group by ApproveStatus


返回数据:
UnsubmittedCount      ApprovedCount 
NULL                  4
1                     NULL

希望的结果:
UnsubmittedCount      ApprovedCount 
1                     4


请问该怎么改?

[解决办法]
引用:
你的输出结果为:
1    0
0    4

把最后一行group by ApproveStatus删除即可,复制了你的代码修改的,最后那行忘记删除了。
[解决办法]


;with c1(UnsubmittedCount,ApprovedCount) AS
(
select null, 4 union all
select 1, null
)  --原来查询结果为c1
select 
UnsubmittedCount=SUM(UnsubmittedCount),
ApprovedCount=SUM(ApprovedCount)
from c1


[解决办法]
SELECT (
SELECT COUNT(FormID) FROM formLogisticgroup WHERE ApproveStatus in ('未提交', '已提交'),
SELECT COUNT(FormID) FROM formLogisticgroup WHERE ApproveStatus in ('已审核'),
)

热点排行