1

各アイテムが親を持つことができるメニューシステムがあります。だから、構造はこのようなものです

ここに画像の説明を入力

私がやりたいことは、現在のページのリンクの「パンくずリスト」スタイルのリストを表示することです。したがって、ユーザーが ~/CVR.aspx を使用していた場合、次のように表示する必要があります。

CVR コントロール - CVR

したがって、行の親が null になるまで、すべての親メニュー項目のリストを再帰的に取得する SQL クエリが必要です)。

何か案は?

4

1 に答える 1

0

SQL-Server の場合、単純な CTE を使用してこれを行うことができます。

WITH MenuCTE AS
(
  SELECT Id, parent, Text, Url
  FROM menu
  WHERE Id = 8
  UNION ALL
  SELECT p.Id, p.parent, p.Text, p.Url
  FROM MenuCTE c
  INNER JOIN menu p ON c.parent = p.id
)
SELECT *
FROM MenuCTE ;

ライブデモ

たとえば、id = 8 の場合、次のようになります。

Id  parent     Text             Url
8     6        CVR           ~/cvr.aspx
6    NULL   CVR Control   ~/CVRDashboard.aspx
于 2012-10-11T11:37:32.527 に答える