|
![]() |
#1 |
Участник
|
Спасибо, ваш скрипт почти то что нужно, только он в поле IsParent выводит все у которых нет головных, и получается, что весь список многотысячный клиентов попадает в этот отчет, а конечная цель составить отчет только по тем клиентам, которые являются структурой (только если у головной есть дочерние)
|
|
![]() |
#2 |
Чайный пьяница
|
Доброе утро,
Если так, то попробуйте следующий скрипт: X++: Create Table #tmp(id int identity(1,1), AccountId Uniqueidentifier, IsParent bit) Insert Into #tmp(AccountId, IsParent) Select a1.AccountId ,1 From FilteredAccount a1 Where a1.parentaccountid Is Null and Exists (Select * From FilteredAccount a where a.parentaccountid = a1.accountid) Select (case t1.IsParent When 1 Then fa1.Name else null end) ParentAccountName ,(case t1.IsParent When 0 Then fa1.Name else null end) ChildAccountName ,fa1.address1_city ,fa1.address1_stateorprovince From (Select AccountId, id, IsParent From #tmp Union All Select fa.AccountId, t.id, 0 as IsParent From FilteredAccount fa Inner Join #tmp t on fa.parentaccountid = t.AccountId) t1 Inner Join FilteredAccount fa1 on t1.AccountId = fa1.accountid Order By t1.id asc, t1.IsParent desc drop Table #tmp
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: Elka (1). |
![]() |
#3 |
Участник
|
|
|
Теги |
reporting services, иерархическая структура, отчет |
|
|