階層IDで階層内のSQLデータを並べ替えることはできますか?Sql階層IDレベル別並べ替え
私たちは、従業員IDに基づいて組織階層を示しています従業員表を持ってそう言う
あなたはボブが(5)フィル(17)とチャーリー(28)を持っている人は彼への報告、およびジョージー持っている(6 )はタイラー(15歳)とマイク(56歳)を彼女に報告している。
あなたはそれが次のようになりますhierarchyid型で、それを並べ替える場合:
ボブ(/ 5 /)
--Phil(/ 5/17 /)
--Charlie(/ 5月28日/)
ジョージー(/ 6 /)
--Tyler(/ 6/15 /)
--Mike(/ 56分の6 /)
しかし、それはおそらく、それが
のように見える持っているより多くの意味になるだろうボブ
ジョージー
--Mike
--Tyler
--Phil--Charlie
は、これはあまりにも複雑取得せずに可能ですか?
二次を見つけたのですか?関係があればアルファベット順にソートします。これらのすべてのエントリは一意のHiearchyIDを持つので、2番目の並べ替えは私が考えないものには影響しません。 –
はい、申し訳ありませんが誤解されています。あなたの質問にテーブル定義を列挙できますか? HierarchyIDはスラッシュで区切られた各レベルを連結する文字列ですか? ManagerIDフィールドはありますか? –
これはちょっとした例でした。実際の例はメニューです(従業員がもっと理解しやすいと思っていました)。重要なフィールドはDescription(varchar)およびMenuHierarchy(hierarchyID) –