は、我々は、我々は古典的な「管理者ID」再帰的な関係を持つテーブルを持っている持っているとしましょう テーブルまたは2ノードで2行をランダムに選択すると、どのようにして最も低いレベルの共通の祖先が見つかりますか?私のプラットフォームは、SQL Server 2005(のTransact-SQL)であるが、任意のANSI準拠したSQLも動作します...
以下のコードでは、SQL Server 2005で再帰的なCTE(共通テーブル式)を使用して、基本的な階層構造の最上位の親を検索しています。この階層のルールでは、すべてのCustIDにParentIDがあり、CustIDに親がない場合はParentID = CustIDであり、最も高いレベルです。 DECLARE @LookupID int
--Our test value
SET @Loo