:
SELECT category, count_people, numpayments05, avegifts05, value05, donorvalue05, giftvalue05,
value05 / SUM(CASE category WHEN 'Single Gifts' THEN value05 ELSE 0.0 END)
OVER (PARTITION BY 1) AS [percentage of value],
count_people / SUM(CASE category WHEN 'Single Gifts' THEN count_people ELSE 0.0 END)
OVER (PARTITION BY 1) AS [percentage of count_people]
FROM
, #temp :
CREATE TABLE
(category varchar(30)
,count_people INT
,numpayments05 INT
,avegifts05 DECIMAL(4,2)
,value05 DECIMAL(18,2)
,donorvalue05 DECIMAL(18,2)
,giftvalue05 DECIMAL(18,2)
,[percentage of value] decimal(5,2)
,[percentage of count_people] decimal(5,2)
)
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO
, :
WITH cte AS
( SELECT category,
value05 / SUM(CASE category WHEN 'Single Gifts' THEN value05 ELSE 0.0 END)
OVER (PARTITION BY 1) AS [percentage of value],
count_people / SUM(CASE category WHEN 'Single Gifts' THEN count_people ELSE 0.0 END)
OVER (PARTITION BY 1) AS [percentage of count_people]
FROM
)
UPDATE
SET [percentage of value] = cte.[percentage of value],
[percentage of count_people] = cte.[percentage of count_people]
FROM
JOIN cte ON