アプリケーションのメニュー システムを作成していますが、データベース クエリの作成方法に少し行き詰まっています。
私のテーブルは次のようになります。
緑色の行は「親メニュー」で、その他は子です。
表示されているデータを並べ替えて、親を表示し、次にその子 (存在する場合) を表示する TSQL クエリを作成するのに助けが必要です。
並べ替え順序は次のとおりです。
親、次に親の子、次に順序 (数値)。
私のデータベースは次のようになります。
アプリケーションのメニュー システムを作成していますが、データベース クエリの作成方法に少し行き詰まっています。
私のテーブルは次のようになります。
緑色の行は「親メニュー」で、その他は子です。
表示されているデータを並べ替えて、親を表示し、次にその子 (存在する場合) を表示する TSQL クエリを作成するのに助けが必要です。
並べ替え順序は次のとおりです。
親、次に親の子、次に順序 (数値)。
私のデータベースは次のようになります。
SQL サーバーの場合、次のような再帰クエリを実行できます。
with cte as (
select
m.id, m.parent_id, m.title,
right('00000' + cast(m.ordering as nvarchar(max)), 5) as ordering
from menu as m
where m.parent_id is null
union all
select
m.id, m.parent_id, m.title,
c.ordering + '.' + right('00000' + cast(m.ordering as nvarchar(max)) , 5) as ordering
from menu as m
inner join cte as c on c.id = m.parent_id
)
select *
from cte
order by ordering