承認に使用する階層 (親子) ロール ベースの構造があります。親のIDとともにロールを格納する単純なスキーマがあります。ここで、role_id が与えられ、そこからそのロールのすべての親を取得したいと考えています。
たとえば、次のようなテーブルがあります。
ROLE_ID ROLENAME IS_PARENT PARENT_ROLE_ID
1 1 ABC CORP Y NULL
2 2 ABC EC Y 1
3 3 ABC WC Y 1
4 4 ABC NY Y 2
5 5 ABC OH Y 2
6 6 NY ORTH N 4
7 7 NY CARD N 4
8 8 OH ORTH N 5
9 9 OH CARD N 5
ROLE_ID
ここで、 ofが提供されると8
、クエリは次のように返されます。
ROLE_ID
1
2
5
8
OH ORTH
の子なのでABC OH
。ABC OH
の子ですABC EC
。ABC EC
は の子です。 、、およびABC CORP
を取得する必要があります。1
5
2
1
上記の例では、4 つのレベルしかありません。しかし、実際には、多くのレベルが存在する可能性があります。
この問題の解決策をグーグルで試してみたところ、ここでつまずきました。しかし、これは Oracle に特有のものであり、Microsoft SQL Server でクエリを実行すると構文エラーが発生します。
これは可能ですか?Microsoft Windows Azure で Microsoft SQL サーバーを使用しています。
SQL に関する知識は限られています。助けてください