を使用して SQL ステートメントを作成しようとしましたWITHが、うまくいきません。
次の表を取得しました。
グループ (ID、名前)
1, 'My app'
2, 'Local admins'
3, 'Global admins'
ユーザー (1, 名前)
1, 'Arne'
GroupOwners (GroupId、OwnerType、OwnerId)
1, 'Group', 2
GroupMembers (GroupId、MemberType、MemberId)
2, 'Group', 3
3, 'User', 1
Arneの所有者であるすべてのグループを見つけようとしています。この場合はMy App. しかし、問題はそれLocal Adminsが所有者として設定されていることです。のメンバーGlobal adminsですLocal admins。そしてArneついにメンバーにGlobal admins。

ダイヤモンドは気にしないでください、それらは間違っています
入れ子はグループごとに異なります。(ユーザーを直接 GroupOwners に持つものもあれば、ユーザーをメンバーとして持つ 1 つのグループを持つものもあります)
SQL文のマザー1つで解決できますか?追加の制約: Groups/Usersはシステムの他の場所で使用されます。