我正在嘗試對多層次層次結構進行某種運行總計。TSQL:層次結構從上到下的總和
樣品表。我添加了空格來強調分組。
+----------------+----------------+------------+
| Manager | Employee | Cost |
+----------------+----------------+------------+
| Donald Torres | Pamela Jordan | 7,250.78 |
| | | |
| Pamela Jordan | Harry Rivera | 36,721.39 |
| Pamela Jordan | Ryan Mcdonald | 5,593.89 |
| | | |
| Harry Rivera | Bruce Mccoy | 3,538.19 |
| | | |
| Ryan Mcdonald | Shirley Ortiz | 137.20 |
| Ryan Mcdonald | Roger Gardner | 9,140.34 |
| Ryan Mcdonald | Paula Richards | 135,109.59 |
| | | |
| Paula Richards | Andrew Boyd | 106,676.77 |
+----------------+----------------+------------+
希望的輸出
+----------------+----------------+------------+
| Manager | Employee | Cost |
+----------------+----------------+------------+
| Donald Torres | Pamela Jordan | 304,168.15 |
| Pamela Jordan | Harry Rivera | 40,259.58 |
| Pamela Jordan | Ryan Mcdonald | 256,657.79 |
| Harry Rivera | Bruce Mccoy | 3,538.19 |
| Ryan Mcdonald | Shirley Ortiz | 137.20 |
| Ryan Mcdonald | Roger Gardner | 9,140.34 |
| Ryan Mcdonald | Paula Richards | 241,786.36 |
| Paula Richards | Andrew Boyd | 106,676.77 |
+----------------+----------------+------------+
道歉用於給出不正確希望的輸出。我已經更新了表格。
基本上,這是層級的樣子基於初始表:
Donald Torres
Pamela Jordan 7,250.78
Harry Rivera 36,721.39
Bruce Mccoy 3,538.19
Ryan Mcdonald 5,593.89
Shirley Ortiz 137.20
Roger Gardner 9,140.34
Paula Richards 135,109.59
Andrew Boyd 106,676.77
至於所需的輸出,保拉·理查茲應該得到保拉·理查茲(她的成本)+安德魯·博伊德的總和。瑞安麥克唐納將Ryan Mcdonald(hir費用)的總和降到Andrew Boyd。哈里里維拉只會是哈里里維拉+布魯斯麥科伊。最後帕梅拉喬丹將帕米拉喬丹(她的成本)的總和下降到安德魯博伊德。
我想在SQL 2008R2中編寫查詢。
更新:增加CTE基表
With Tabl_1 (Manager, Employee, Cost) as (
Select 'Donald Torres' , 'Pamela Jordan' , 7250.78 UNION ALL
Select 'Pamela Jordan' , 'Harry Rivera' , 36721.39 UNION ALL
Select 'Pamela Jordan' , 'Ryan Mcdonald' , 5593.89 UNION ALL
Select 'Harry Rivera' , 'Bruce Mccoy' , 3538.19 UNION ALL
Select 'Ryan Mcdonald' , 'Shirley Ortiz' , 137.20 UNION ALL
Select 'Ryan Mcdonald' , 'Roger Gardner' , 9140.34 UNION ALL
Select 'Ryan Mcdonald' , 'Paula Richards' , 135109.59 UNION ALL
Select 'Paula Richards' , 'Andrew Boyd' , 106676.77
)
期望的輸出非常混亂。爲什麼所有其他團體的累積價值非常大,然後Harry/Bruce線沒有? – dfundako
爲什麼瑞安麥克唐納/羅傑加德納不包括雪莉奧爾蒂斯的價值?你如何確定每個經理的員工順序應該是什麼? –
Hi @BaconBits。確定每位經理的員工順序也是我的問題。不確定這是否可以使用遞歸查詢 – ggarcia