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
请问该怎么改?
[解决办法]
把最后一行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 ('已审核'),
)