使用函数从另一个表创建一个连接表

上帝

我有一个函数GetChildren(@id uniqueidentifier),它返回一个节点表和一个从删除触发器中删除的父表我想制作一个大的节点表,为每一行连接 GetChildren 的输出。已删除的 ID,我该怎么做?请说如何仅以纯 sql 方式在没有变量和循环的情况下制作它

我想要类似于 linq c# 中的 SelectMany

例子:

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 行,我想连接GetChildren每一行的所有 4 个输出

布伦顿

您可以使用CROSS APPLY从基于另一个表的行的表值函数返回和合并多个结果集。在您的示例中,它看起来像:

SELECT c.*
FROM deleted d
CROSS APPLY GetChildren(d.Id) c

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用一个表无需连接即可过滤另一个表

来自分类Dev

创建一个函数以从PostgreSQL中的另一个表插入一个表

来自分类Dev

如何使用 JavaScript 在另一个表中创建一个表?

来自分类Dev

从另一个表创建表

来自分类Dev

将一个表与另一个表的最新行连接

来自分类Dev

将DISTINCT值从一个表连接到另一个表

来自分类Dev

将数据从一个表连接到另一个表

来自分类Dev

Oracle 连接到一个表或另一个表

来自分类Dev

如何使用 SQL 中另一个表中的一列创建一个新表?

来自分类Dev

创建连接,我拉一数,从另一个表

来自分类Dev

连接另一个表中的列数

来自分类Dev

mySQL更新列与另一个表的连接

来自分类Dev

HQL连接到另一个表

来自分类Dev

PostgreSQL:连接另一个表的计数

来自分类Dev

通过使用另一个表更新表

来自分类Dev

使用另一个表更新表

来自分类Dev

如何使用另一个表更新表

来自分类Dev

使用另一个表的值更新表

来自分类Dev

访问冲突使用Laravel两次在另一个表上连接一个表

来自分类Dev

用另一个表中的信息创建一个表

来自分类Dev

用另一个表的ID创建一个新的表条目

来自分类Dev

从另一个表创建一个表

来自分类Dev

从与另一个表连接的内部表中选择*时如何使用列别名

来自分类Dev

在 MySQL 中如何使用基于另一个表的列值的名称连接表?

来自分类Dev

使用连接和条件(where)从另一个表更新表

来自分类Dev

创建一个使用 mySql (phpMyAdmin) 从另一个表中获取数据的表

来自分类Dev

根据另一个表创建条件列

来自分类Dev

在组排序表中加入另一个表使用第一个函数

来自分类Dev

从另一个创建函数

Related 相关文章

热门标签

归档