一種の再帰ループを実行する SQL Server 2008 R2 UDF があります。つまり、Employees というテーブルがあり、列の 1 つに別の Employee ID (彼の上司) を格納しています。
従業員IDを取得すると、彼の下の部門全体を知ることができなければなりません. 例: 従業員 Joe (ID:1) は Robert (ID:2) で働いています。従業員 Robert (ID:2) は Michelle (ID:3) で働いています。
Michelle の下にあるすべての従業員、つまり Robert と Joe の給与を数えることができなければなりません (同じテーブルにあるとしましょう)。
これまで、Michelle より下のすべての従業員 ID を含むテーブルを返す UDF を作成し、クエリの where で EXISTS 句を使用しましたが、パフォーマンスは非常に低かったです。
皆さん、別のアイデアはありますか?
ありがとうございました!