访问饼图的SQL查询 - 分组按一个字段但对某些值进行分组

时间:2013-07-09 09:55:03

标签: sql ms-access pie-chart

尝试自动在访问中生成piechart,这将显示3个值(已完成,待处理和已排队) 但是在我的状态字段中,我有几个待处理的值(已发送,monitoringStage1,monitoringStage2,finalApproval

我目前的查询单独给出了每个项目的计数:

SELECT Status, Count(*) AS [Count]
FROM StatusTable
GROUP BY Status
ORDER BY Status;

如何将其编辑为计数已发送,monitoringStage1,monitoringStage2和finalApproval 作为一个名为pending的项目?

另外在旁注中,是否有人知道如何在百分比的饼图上的某个点放一条线?因此,在创建的饼图中,我可以有一行来指示要与当前进度进行比较的已完成项目的目标数量。

2 个答案:

答案 0 :(得分:1)

您不能在查询中使用CASE,仅在VBA中使用。

这将照顾它:

SELECT qryTestx.ThisStatus, Count(qryTestx.Status) AS CountOfStatus
FROM  (SELECT (IIf([StatusTable.Status] in ("sent","monitoringStage1","monitoringStage2","finalApproval"),"Pending",[StatusTable.Status])) AS ThisStatus, StatusTable.Status
FROM StatusTable) qryTestx
GROUP BY qryTestx.ThisStatus;

答案 1 :(得分:0)

试试这个并且不要忘记投票;)

select 

count(*),
case 
when Status  in ( 'sent', 'monitoringStage1', 'monitoringStage2', 'finalApproval') then 'pending'
else status
end as status

from StatusTable 

group by
case 
when Status  in ( 'sent', 'monitoringStage1', 'monitoringStage2', 'finalApproval') then 'pending'
else status
end