У меня есть данные около 5 миллионов записей, ниже приведены примеры данных, которые будут связаны с ними
if object_id('tempdb..#Table1') is not null
drop TABLE #Table1
CREATE TABLE #Table1
([Hierarchy_No] varchar(8), [sales] int)
;
INSERT INTO #Table1
([Hierarchy_No], [sales])
VALUES
('1-1.1.1.', 100),
('1-1.1.2.', 200),
('1-1.2.1', 300),
('1-1.2.1', 400),
('1-2.1.1.', 500),
('1-2.1.2.', 600),
('1-2.2.1', 700),
('1-2.2.1', 800)
;
мы использовали рекурсивный cte для достижения следующего результата.
Hierarchy_No sales
1-1. 1000
1-2. 2600
1-1.1. 300
1-1.2. 700
1-2.1. 1100
1-2.2. 1500
1-1.1.1. 100
1-1.1.2. 200
1-1.2.1 300
1-1.2.1 400
1-2.1.1. 500
1-2.1.2. 600
1-2.2.1. 700
1-2.2.1. 800
Для достижения результатов за 1-1.мы должны добавить продажи 1-1.1.1.+1-1.1.2.+1-1.2.1.+1-1-2.1.
, то есть 1000. Есть ли способ достичь результатов, кроме рекурсивного cte?Пожалуйста, помогите.