我写了两个程序;一种是对所提供服务的总成本求和,另一种是提取服务的预计预算。预算可以每年或每六个月更新一次。我在加入这些计划时遇到了麻烦,因此我可以按月计算用于每个波动服务的预算百分比。
预计预算方案
SELECT
ChildID,
WAIVER_SERVICES,
START_DT,
END_DT,
RATE_PER_UNIT_OF_SERVICE,
PROJECTED_COST_PER_MONTH
FROM [ECMS_BACKUP].[dbo].[B2H_DSP]
where CLT_NBR=10177
and WAIVER_SERVICES NOT IN (1,10,11,12)
and WAIVER_PROGRAM=2
我带回来的预算数据集如下所示:
CREATE TABLE Budget (
ChildID int,
WAIVER_SERVICES int,
START_DT date,
END_DT date,
RATE_PER_UNIT_OF_SERVICE int(30),
PROJECTED_COST_PER_MONTH
);
INSERT INTO Budget VALUES
(10177, 2, '06/01/12', '06/01/13', 13.23, 158.76),
(10177, 3, '06/01/12', '06/01/13', 13.23, 211.68),
(10177, 5, '06/01/12', '06/01/13', 19.45, 466.8),
(10177, 8, '06/01/12', '06/01/13', 236.7, 473.4),
(10177, 9, '06/01/12', '06/01/13', 19.55, 312.8),
(10177, 2, '06/03/13', '06/03/14', 13.23, 158.76),
(10177, 3, '06/03/13', '06/03/14', 13.23, 211.68),
(10177, 5, '06/03/13', '06/03/14', 19.45, 466.8),
(10177, 6, '06/03/13', '06/03/14', 55.68, 222.72),
(10177, 8, '06/03/13', '06/03/14', 236.7, 473.4),
(10177, 9, '06/03/13', '06/03/14', 19.55, 312.8)
请注意,START_DT 和 END_DT 不是按月设置,而是按年设置。
提供的服务计划
select
a.ChildID,
b.WAIVER_SERVICES,
month(a.DOSStart) as Month,
YEAR(a.DOSStart) as Year,
sum(b.RATE_AMOUNT)as total
from
[ECMS_BACKUP].[dbo].[B2H_SummaryForms]a
left JOIN ECMS_BACKUP.dbo.B2H_RATE b ON a.RateCode=b.RATE_CODE
where DOSStart>='2013-01-01' AND DOSStart<'2013-06-30'
group by ChildID, month(a.DOSStart), YEAR(a.DOSStart),WAIVER_SERVICES
order by childid, month(a.DOSStart), YEAR(a.DOSStart),WAIVER_SERVICES
我带回的 Services Provided 数据集如下所示:
CREATE TABLE Provided (
ChildID int,
WAIVER_SERVICES int,
Month int,
Year int,
total int,
);
INSERT INTO Provided VALUES
('10177', 3, 3, 2013, 13.23),
('10177', 5, 3, 2013, 77.8),
('10177', 8, 3, 2013, 236.7),
('10177', 9, 3, 2013, 19.55),
('10177', 3, 4, 2013, 13.23),
('10177', 5, 4, 2013, 19.45),
('10177', 5, 5, 2013, 19.45),
('10177', 8, 5, 2013, 236.7),
('10177', 9, 5, 2013, 19.55),
('10177', 5, 6, 2013, 19.45),
('10177', 8, 6, 2013, 236.7),
('10177', 3, 8, 2012, 17.2),
('10177', 3, 10, 2012, 13.23),
('10177', 8, 10, 2012, 473.4),
('10177', 9, 10, 2012, 19.55),
('10177', 2, 11, 2012, 13.23),
('10177', 3, 11, 2012, 13.23)
同样,我无法加入这两个数据集以获得看起来像这样的东西
ChildID WAIVER_SERVICES Month/Year services_provided Budget % used
10177 3 12/2012 125 125 100%
10177 3 1/2013 75 125 60%
10177 3 2/2013 100 175 57%
10177 9 1/2013 50 50 100%
10177 9 5/2013 800 950 84%
非常感谢任何帮助!