分层数据库选择/插入语句 (SQL Server)

2024-03-30

我最近偶然发现一个问题,从一个表中选择关系详细信息并插入到另一个表中,我希望有人可以提供帮助。

我有一个表结构如下:

ID (PK)   Name       ParentID<br>
1         Myname     0<br>
2         nametwo    1<br>
3         namethree  2

e.g

这是我需要从中选择并获取所有关系数据的表。因为子链接的数量可能是无限的(我可以为此创建一个函数来创建循环吗?)

然后,一旦我拥有了需要插入到另一个表中的所有数据,并且 ID 现在必须更改,因为 id 必须按顺序排列(例如,我不能让 id“2”成为 3 的子集),我希望我可以使用相同的功能来选择进行插入。


如果您使用的是 SQL Server 2005 或更高版本,您可以使用递归查询来获取您的信息。这是一个例子:

With tree (id, Name, ParentID, [level])
As (
    Select id, Name, ParentID, 1
    From [myTable]
    Where ParentID = 0

    Union All

    Select child.id
          ,child.Name
          ,child.ParentID
          ,parent.[level] + 1 As [level]
    From [myTable] As [child]
    Inner Join [tree] As [parent]
    On [child].ParentID = [parent].id)
Select * From [tree];

此查询将递归返回第一部分(其中 ParentID = 0)请求的行和所有子行。这对你有帮助吗?

我不确定我是否理解您希望插入内容发生什么。您能否提供更多有关完成后预期结果的信息?

祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分层数据库选择/插入语句 (SQL Server) 的相关文章

随机推荐

  • 第一个弹出窗口显示过时的状态

    我发现了一个符合我口味的弹出窗口的奇怪行为 我希望它显示一个视图PopoverItem and number 两者均应从onTapGesture in ForEach 问题是弹出窗口总是显示默认值number第一次点击时 它会按预期工作 错
  • 枚举的编译时查找表

    我有一个枚举列表 其定义如下 enum PinEnum kPinInvalid kPinA0 kPinA1 kPinB0 kPinB1 kPinC0 kPinC1 每个枚举都需要与其他两个值相关联 即端口和引脚号 目前 我通过运行时函数访问
  • 更改背景图像的不透明度

    我有一个带有文本块的 div 元素和一个父 div 我在其中设置了背景图像 现在我想降低背景图像的不透明度 我怎样才能做到这一点 EDIT 我希望通过编辑 html 内容来改变我的博客文章在 blogger com 上的显示方式 html
  • Java 系统属性的范围

    在Java中我们使用System setProperty 方法来设置一些系统属性 根据本文 http blogs oracle com foo entry monitored system setproperty系统属性的使用有点棘手 Sy
  • 在每个页面上缓存包含特定于会话的数据的 Drupal 站点

    我们有一个用 Drupal 6 编写的网站 我们想使用Drupal的缓存机制来提高性能 但是当我们打开它时 我们发现了问题 因为我们的站点每个页面都显示会话数据 Drupal 的缓存系统仅适用于静态内容页面 而我们的会话数据实际上意味着我们
  • AWS API Gateway CORS 飞行前检查失败

    我正在使用 Zappa 来部署我的应用程序 cors 已启用 并且当按下 API Gateway OPTIONS 资源中选项上的 test 按钮时 一切似乎都工作正常 但是 当我尝试进行 CORS 飞行前检查时 我收到了 500 错误 me
  • Bigquery 将列添加到表架构

    我正在尝试向 BigQuery 现有表添加新列 我尝试过 bq 命令工具和 API 方法 调用 Tables update 时出现以下错误 我尝试过提供带有附加字段的完整架构 这也给了我相同的错误 如下所示 使用 API 我收到以下错误 s
  • 将 ParameterExpression 与 org.springframework.data.jpa.domain.Specification 一起使用时如何将参数传递给函数?

    我使用 org springframework data jpa domain Specification 与 JpaSpecificationExecutor 一起轻松创建带有 Java 条件的查询 但现在我需要调用返回整数值的 MySQ
  • 奇怪的“在所有成员初始化之前被闭包捕获的‘self’”错误

    请看一下下面的代码 class A let a String let b String init a String b String self a a self b b class B A let c Bool private let aE
  • 连接字符串存储在哪里

    我正在创建一个类库 其中包含我在开发的应用程序中经常使用的所有自定义类 该库被编译并作为参考添加到我的每个应用程序中 使我能够调用该库中包含的自定义类 我的库中的自定义类包括多层继承 但它们最终都起源于我称为 Alpha 的基类 在该类中
  • 在 Java 中重新排列 ArrayList 的最佳方法

    重新排列列表中元素的最佳方法是什么 我需要能够移动元素来移动列表中的元素 在索引中后退或前进一步 我正在考虑获取该项目的索引 将其添加到索引 1 2 处并删除旧引用 是否有一种更快的方法来处理重新排列 而无需在此过程中在列表中创建重复项 使
  • WordPress 标题:如果长度超过 50 个字符,则显示省略号

    我有一个带有标题的 WordPress 网站 如果标题超过 50 个字符 我需要添加省略号 位于标题末尾 并将标题停在 50 个字符处 下面是我正在编写的 PHP 但它似乎无法正常工作 The mb strimwidth http www
  • MeanShift `fit` 与 `fit_predict` scikit learn

    Suppose X是数组的典型形式 给定代码 from sklearn cluster import MeanShift ms MeanShift bin seeding True cluster all False ms fit X 一旦
  • CSS 最小高度 100%,具有多个 div

    好的 我试图让页面显示 100 的视口高度 但问题是页面有多个并不总是嵌套的 div 我一直在浏览多个问题和其他网站 但找不到适合我需要的答案 我目前的布局如下 div class container div class header di
  • 如何将 java.util.logging 重定向到文件?

    我有一个使用外部库的java程序 主程序使用log4j记录其消息并且库使用java util logging 我的问题是来自外部库和主程序的日志消息混合在控制台中 我想重定向all将来自外部库的消息记录到文件中 我尝试这样做logging
  • 如何在 Mac OSX 10.6 上卸载 wxpython 2.8

    在继续之前 我的机器和已安装的软件包的一些详细信息 Mac OSX 版本 10 6 6 Python版本 Activestate Python 2 7 1 wxpython 版本 wxpython 2 8 使用Carbon API 因此仅限
  • ListView完全不如RecyclerView吗?

    因此 Vogella 似乎表明与 RecyclerView 相比 ListView 已完全被弃用 实际上并不是已弃用 而是在任何情况下 ListView 都是更好的选择 这是真的 公共软件书籍表明它的更新速度可能会更快 还有其他理由从现在开
  • Contentpresenter 和 ContentControl 中 FontSize 未继承的解决方法

    尝试创建可以托管其他控件的 UserControl 以下是相关代码
  • YANG:如何在没有键的情况下对嵌套列表配置数据进行建模

    我正在尝试为这个配置文件构建 YANG 模型 该文件具有没有键的列表 然而 由于 YANG 列表中密钥的必要性 我无法构建精确的 YANG 模型 有没有什么想法如何在 YANG 中表示没有键的列表列表 该文件包含acl 其中可以有很多acl
  • 分层数据库选择/插入语句 (SQL Server)

    我最近偶然发现一个问题 从一个表中选择关系详细信息并插入到另一个表中 我希望有人可以提供帮助 我有一个表结构如下 ID PK Name ParentID br 1 Myname 0 br 2 nametwo 1 br 3 namethree