日期:2014-05-18 浏览次数:20826 次
SELECT ProjectID,convert(varchar(10),[Time],120) as 日期,count(ID) as 预约量, 到诊数量=sum(case when PatientStatus='复诊' or PatientStatus='初诊' then 1 else 0 end) FROM Orders group by convert(varchar(10),[Time],120),ProjectID
日期 点击量 对话量 有效对话量 预约量 实际到诊量 2012-1-1 1000 200 50 40 10 2012-1-2 2000 700 40 30 8 2012-1-3 3000 500 20 10 7
日期 点击量 对话量 有效对话量 预约量 该日历史预约总和 实际到诊量 2012-1-1 1000 200 50 40 100 10 2012-1-2 2000 700 40 30 200 8 2012-1-3 3000 500 20 10 300 7
SELECT ProjectID,convert(varchar(10),[Time],120) as 日期,count(ID) as 预约量, 到诊数量=sum(case when PatientStatus='复诊' or PatientStatus='初诊' then 1 else 0 end) 该日历史预约总和 = sum(case when convert(varchar(10),[OrderTime],120)=convert(varchar(10),[Time],120) then 1 else 0 end) FROM Orders group by convert(varchar(10),[Time],120),ProjectID
select a.*,b.该日历史预约总和 from
(
select
projectid,
convert(varchar(10),[time],120) as 日期,
count(id) as 预约量,
到诊数量=sum(case when patientstatus='复诊' or patientstatus='初诊' then 1 else 0 end)
from orders
group by convert(varchar(10),[time],120),projectid
) a
left join
(
select
convert(varchar(10),[time],120) as 日期,
count(1) as 该日历史预约总和
from orders
convert(varchar(10),[time],120)
)
b on a.日期=b.日期
------解决方案--------------------
该日历史预约总和
例如:2012-1-1 100
是怎么得来的?
建议你提供详细的资料:
例如表的结构,表之间的关系,测试数据,相关算法及需要的结果。
这样有助于我们理解你的意思,更主要的是能尽快让你获得答案或解决问题的方法。