Я работаю с MS SQL 2005.
Я определил древовидную структуру как:
1
|\
2 3
/|\
4 5 6
Я создал SQL-функцию Subs (id), которая получает id и возвращает таблицу поддеревьев.
Итак, Subs (3) вернет 4 строки с 3,4,5,6, а Subs (2) вернет одну строку с 2.
У меня есть оператор select, который возвращает вышеуказанные идентификаторы (объединяя это дерево с другими таблицами)
Я хочу после оператора select, который возвращает вышеуказанные идентификаторы
(что приведет к таблице, например, с 2 строками:)
2
3
чтобы иметь возможность запускать вспомогательную функцию как
Subs(2)
union
Subs(3).
(Результатом должны быть строки с идентификатором 2,3,4,5,6)
Проблема в том, что я не знаю, как передавать аргументы, и я не знаю, как динамически использовать объединение.
Можно ли решить эту проблему на этом уровне, или я должен поднять это на верхний уровень (C #)?