Зачем использовать таблицы Mutiple? Вам нужен только один.
ID, Parent_ID, Имя
Это может быть как угодно глубоко.
Вопрос в том, как вы хотите его потреблять?
Вот как я обычно это делаю:
CREATE FUNCTION [dbo].[group_hierarchy]( @pGroupID AS INTEGER)
RETURNS @Groups TABLE( ItemID INTEGER NOT NULL
,NestedLevel INTEGER NOT NULL )
AS BEGIN
DECLARE
@lNestedLevel INTEGER;
SET @lNestedLevel = 0;
IF( @pGroupID IS NULL ) RETURN;
ELSE
BEGIN
INSERT INTO @Groups
SELECT @pGroupID, 1
WHERE EXISTS (
SELECT NULL
FROM Group
WHERE Group_ID = @pGroupID );
END;-->IF<--
WHILE( @@ROWCOUNT <> 0 )
BEGIN
SET @lNestedLevel = @lNestedLevel + 1;
INSERT INTO @Groups
SELECT Group_ID, ( @lNestedLevel + 1)
FROM Group
WHERE ParentGroup_ID IN (
SELECT ItemID
FROM @Groups
WHERE NestedLevel = @lNestedLevel );
END;-->WHILE<--
RETURN;
END