Something like this
DECLARE@tbl_Customer TABLE
(
Customer_idINT,
ValueNUMERIC(18,2)
)
DECLARE@tbl_Relation TABLE
(
Customer_idINT,
Child_idINT
)
INSERT@tbl_Customer
SELECT1, 100 UNION ALL
SELECT2, 150 UNION ALL
SELECT3, 1000 UNION ALL
SELECT4, 300 UNION ALL
SELECT10, 120 UNION ALL
SELECT11, 150 UNION ALL
SELECT12, 1000 UNION ALL
SELECT13, 200
INSERT@tbl_Relation
SELECT1, 10 UNION ALL
SELECT1, 11 UNION ALL
SELECT1, 12 UNION ALL
SELECT2, 13 UNION ALL
SELECT3, 14 UNION ALL
SELECT3, 15 UNION ALL
SELECT5, 16
SELECTC.Customer_id, C.Value + COALESCE( SUM( CR.Value ), 0 ) AS Value
FROM@tbl_Customer AS C
LEFT OUTER JOIN@tbl_Relation AS R ON C.Customer_id = R.Customer_id
LEFT OUTER JOIN @tbl_Customer AS CR ON R.Child_id = CR.Customer_id
GROUP BY C.Customer_id, C.Value
ORDER BY C.Customer_id
How to post data/code on a forum to get the best help - Jeff Moden
http://www.sqlservercentral.com/articles/Best+Practices/61537/