У меня есть функция GetChildren(@id uniqueidentifier)
, которая возвращает таблицу узлов и таблицу родителей, удаленных из триггера удаления. Я хочу сделать большую таблицу узлов, объединяющую выходные данные GetChildren для каждой строки. Идентификатор удаленного, как мне сделатьтот?Скажите, пожалуйста, как сделать это без переменных и циклов только в чистом sql-way
Я хочу что-то похожее на SelectMany из linq c #
пример:
deleted
таблица
+-----+
| Id |
+-----+
| 111 |
+-----+
| 222 |
+-----+
Nodes
таблица
+-----+----------+
| Id | ParentId |
+-----+----------+
| 111 | ... |
+-----+----------+
| 222 | ... |
+-----+----------+
| 333 | ... |
+-----+----------+
| 444 | 111 |
+-----+----------+
| 555 | null |
+-----+----------+
| 666 | 222 |
+-----+----------+
GetChildren('111')
будет производить:
+-----+
| Id |
+-----+
| 111 |
+-----+
| 444 |
+-----+
GetChildren('222')
будет производить:
+-----+
| Id |
+-----+
| 222 |
+-----+
| 666 |
+-----+
Я хочу получить таблицу с конкатенацией 2 выше:
+-----+
| Id |
+-----+
| 111 |
+-----+
| 444 |
+-----+
| 222 |
+-----+
| 666 |
+-----+
Если deleted
будет содержать 4 строки, я хочу объединить все 4 вывода GetChildren
для каждой строки