0
У меня есть таблица с именем Options. имеют три поля Caption, OptionID, ParentOptionID. содержит некоторые записи, как:
Как написать вложенный запрос
OptiondID Caption ParentOptionID
1 Entry 0
2 Sale 1
3 Sale Invoice 2
----------------------------------------------
I want the result as :
OptiondID Caption ParentOptionID
1 Entry 0
2 Entry - Sale 1
3 Entry - Sale - Sale Invoice 2
-----------------------------------------------
Option Caption of its parent option - added in current Options Caption, and it should be nested.
Это вопрос, который я пробовал:
;with MyRelation as (
-- Anchor member definition
select OID, Cast(Caption as Varchar(1000)) as Caption, POID, iid
from #tmpOptions as e
UNION ALL
-- Recursive member definition
select e.OID, Cast(e.Caption + '-' + r.Caption as Varchar(1000)) as Caption, e.POID, e.iid
from #tmpOptions as e join MyRelation R on e.POID = R.OID
)
-- Statement that executes the CTE
select OID, Caption, POID, iid
from MyRelation
я попытался КТР, но я я не буду в этом разбираться. –
Вы бы добавили SQL, который вы пытались решить? –
, с MyRelation в ( - Якорь определение члена выберите OID, Cast (Caption, как VARCHAR (1000)), как пояснением, POID, н.о.р. из #tmpOptions как электронная UNION ALL - Рекурсивные определения члена выберите е .OID, Cast (e.Caption + '-' + r.Caption как Varchar (1000)) в качестве Caption, e.POID, e.iid из #tmpOptions, так как e присоединяется к MyRelation R на e.POID = R.OID) - Инструкция, выполняющая CTE , выберите OID, Caption, POID, iid из MyRelation –