Sitecoreのコンテンツツリーのツリー構造を抽出する機能があるかたまに聞かれるので、 Homeアイテム配下のツリー構造をそこそこ整形して出力するT-SQLを作成してみました。
大規模のデータを選択する対象とする際には、個人的には禁じ手の文字列接続をしていますが、まぁ、オンラインで頻繁に実行するクエリではないので、許してください。
クエリをカスタマイズすれば、取得するデータを変更できます。
-- SiteのHomeアイテムのID
declare @home as uniqueidentifier = '{XXXXXXXX-YYYY-ZZZZ-AAAA-BBBBBBBBBBBB}';
WITH ItemTree(ItemID, ParentID, ItemName, Level, Path, Path2)
AS
(
SELECT ID as ItemID, ParentID, Name as ItemName, 1 as Level , CAST(Name as nvarchar(4000)), CAST( Name as nvarchar(4000)) as Path2
FROM dbo.Items
WHERE ID = @home
UNION ALL
SELECT i.ID as ItemID, i.ParentID, i.Name as ItemName , Level + 1 , it.Path + ' / ' + i.Name, SPACE(2*Level) + i.Name
FROM dbo.Items i
INNER JOIN ItemTree as it
on it.ItemID = i.ParentID
)
SELECT *
FROM ItemTree
Order BY Path;
プログラミングすればもっと柔軟にデータを取得できると思うのですが、T-SQLの場合は、お手軽に実行できるので参考に参考に掲載しておきます。
SSMSで実行するとこんな感じになります。

さんのコメント: さんのコメント: