5
現在、CTEクエリを実行して、ほとんどの再帰的な例と同様の従業員テーブルから従業員階層を再帰的に構築しています。私が立ち往生しているところでは、私は単一の従業員を照会し、彼の上の階層を取得しようとしています。私はこだわっていますSQL CTE再帰:親レコードを返す
with employeeMaster as (
select p.EmployeeID, p.MgrID, p.Name
from Employees p
where p.MgrID is null
union all
select c.EmployeeID, c.MgrID, c.Name
from employeeMaster cte inner join Employees c on c.MgrID = cte.EmployeeID
)
select * from employeeMaster
は次のとおりです。
Employees
===========================================================================
EmployeeID MgrID Name
1 null Joe
2 1 John
3 2 Rob
4 2 Eric
次は私が上から下の階層を表示することを可能にするSQLは、次のとおりです。して、以下に私が仕事にしようとしているテーブルの例があります最下位レベルの従業員(RobまたはEric)を照会する方法を理解しておらず、Joe> John> Ericから彼の上の階層を返すことはできません。これは簡単にできるはずだが、私の人生ではそれを見つけられないようだ。
私のポストでは、テーブルの例を使用して、私はEricを照会し、彼のレコードと彼の上の2人を示す3つのレコードでレコードセットを返したいと思います。最終的な目標は、あらゆる従業員の欲望を問うことであり、その従業員の連鎖が一番上に向かうのを見ています。 – Tehrab
私はあなたにエリックと彼のマネージャーを与えるために編集しました。 –
常に簡単なもの。回答としてマーク。 – Tehrab