私はSQLにまったく慣れていないので、この状況についてあなたの助けが必要です。これは、ほとんどの人にとって基本的なことかもしれません。
私はテーブル「従業員」を持っています。これには、属性 ID と BOSS_ID があります。最上位のボスの BOSS_ID は NULL です。
ここで、従業員 ID と特定のトップ レベルの上司の ID を一覧表示するテーブルが必要です。
私がすでに行ったことは、次の上位レベルの上司の ID を持つすべての従業員を返すこの再帰クエリです。
WITH TopBosses(ID,NAME, BOSS_ID)
AS
(
SELECT ID,NAME, BOSS_ID
FROM EMPLOYEE
WHERE BOSS_ID IS NULL
UNION ALL
SELECT EMPLOYEE.ID,EMPLOYEE.NAME, EMPLOYEE.BOSS_ID
FROM EMPLOYEE
INNER JOIN TopBosses
ON EMPLOYEE.BOSS_ID = TopBosses.ID
)
SELECT ID,NAME, BOSS_ID
FROM TopBosses
しかし、次のレベルのボスIDはすでにテーブル「従業員」の一部であるため、これは私にはまったく役に立ちません:)特定のトップレベルのボスを常に取得する方法の最終ステップがわかりません。
返信ありがとうございます。