Приветсвую! Столкнулся с медленной работой встроенных функций, Уровень(), принадлежиГруппе(), есть в прямых запросах УложитьСписокОбъектов, но это тоже не спасло давало все подчиненные элементы.
Почитал про рекурсивные запросы попробовал, работает! Привожу пример может кому пригодится
|WITH Parts(ParentID, ID, goodsLevel, СотрудникИД) as
|(
| SELECT mainGoods.ParentID, mainGoods.ID,
| 0 goodsLevel, спрСотрудники.ParentExt СотрудникИД
| FROM SC14 mainGoods INNER JOIN SC1875 спрСотрудники ON спрСотрудники.SP1873 = mainGoods.ID
| WHERE mainGoods.ISFolder = 1 AND mainGoods.ParentID = $ПустойИД
| UNION ALL
| SELECT childGoods.ParentID, childGoods.ID, goodsLevel + 1, p.СотрудникИД
| FROM SC14 childGoods
| INNER JOIN Parts p
| ON childGoods.ParentID = p.ID AND childGoods.ISFolder = 1
| )
|SELECT ParentID [родитель $справочник.Товар], ID [Группа $справочник.Товар], goodsLevel,СотрудникИД [Сотрудник $справочник.Сотрудники]
|FROM Parts
|ORDER BY goodsLevel, ParentID, ID
Комментариев нет:
Отправить комментарий