问题标签 [self-referencing-table]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
189 浏览

php - PHP Zend 框架 - 多层菜单

在我的应用程序中,我想制作一个像这样的动态多层菜单

玩具1

==>小玩具1-a

==>子玩具1-b

玩具2

==>小玩具2-a

==>子玩具2-b

玩具3

==小玩具3-a

我在名为 parent-Menu 的数据库中创建了 2 个表,其中包含 Toy1、Toy2、Toy3,子菜单包含 Sub toy1-a、Sub toy1-b 及其所属的父亲。我不知道如何检索数据库或算法来做到这一点。有人有解决方案吗?

0 投票
1 回答
3711 浏览

asp.net-mvc-3 - 如何有效地从自相关表中加载数据

考虑以下构建论坛应用程序的要求

家长帖

表结构

tblPost -

  • 邮政编号
  • ChildPostId
  • 标题
  • 发布内容
  • 用户名

======================

我可以使用递归 CTE 检索此类数据。我不确定这是最好的方法。

问题

  • 使用 SQL 检索此数据的最佳方法是什么?

  • 有没有更好的方法来使用 ORM 加载这些数据?

  • 如果我们走 SQL 路线,将这些数据加载到如下所示的类中的最佳方法是什么:

    /li>
  • 使用剃刀语法来显示这种数据怎么样?

0 投票
1 回答
1213 浏览

c# - 在 Telerik NestedHierarchy 中隐藏父列

我有一个类似于下面的网格,我的还有一些数据列。
我想隐藏 ID 和 ParentID 列。但如果我隐藏 ID,展开/折叠功能将不复存在。所有行都像在普通表中一样显示。

在此处输入图像描述

我如何实现它?

Display="false"仍然在 html 中保留 OrderID,所以这个功能应该可以工作,但它没有。

有人知道吗?

0 投票
1 回答
105 浏览

sql-server-2005 - 客户\供应商联系方式

我想知道存储供应商和客户联系方式的最佳方式是什么。

我在想的是会有

GUID、ParentGUID、类型、TypeDesc、详细信息

类型将是整数,typedesc 将用于其他情况,详细信息显然是数据。

我发现的问题是如何将这一切联系起来。

这是 A 客户 -> 联系人(职务、姓名、中间名、姓氏)-> 电话 -> 别名

这可能是一个层次结构的情况。

到目前为止,由于向后兼容性,无法连接供应商和客户表。但是以后会做。

此外,由于某些客户端限制,必须假定 MSSQL 2005 否则不会有问题,因为这在 2008 年通过 getroot() 和其他有用的功能得到了解决。

我可能会在很多情况下搜索其中一个字段。并要求了解客户或供应商。

0 投票
1 回答
116 浏览

sql - 防止用户在自引用表中添加空间大于分配空间的行

我在分层查询中遇到问题。我有一个这样的自引用表:

我需要在数据库中添加一个触发器,以防止用户添加超过该船剩余大小的客舱。

例如,在表中,对于 1 号船,我们的总尺寸为 50。存在 2 个舱室,消耗 40 的尺寸。所以现在我们剩下 10 个作为可用空间。我们应该不能再添加一个大小>10 的客舱。任何 <= 10 都可以。小木屋和货架也是如此。一个客舱内所有货架的总尺寸不应超过分配给该客舱的总尺寸。

表中可以有任意数量的船舶条目(这是根)。

我知道分层查询,我可以遍历一棵树,但我发现很难收集我对这个问题的想法。谁能指出我正确的方向,以便我可以成功添加该触发器?

0 投票
1 回答
237 浏览

c# - 重新排列树节点并将其保存回带有 EF 的自引用表中

我有一个自引用表结构,与 EF 一起工作得很好,我用它来渲染树视图。EF 实体如下所示,我急切地加载了整个结构。

然后我在 UI 上添加了将新子节点添加到任何节点并使用 jQuery 重新排列节点的功能。更新后的结构使用相同的实体存储在会话中。

当我想使用 EF 将其保存回来时,我遇到了问题,因为我将它保存在另一个实体中,如下所示,并且MainEntity每当我想更新树时,我都会保存(更新)它。

如何使用会话中的值更新此 Tree 属性并告诉 EF 保存它?如何更改该结构的父母和孩子以匹配新结构?

我正在考虑使用命令模式来记录 UI 的每个操作,并稍后在保存时在 EF 实体上重播它们。但这看起来有点矫枉过正:(

0 投票
3 回答
4392 浏览

mysql - 如何在自引用表中添加记录?

我是 MySql 的菜鸟。我想创建以下自引用表:

我使用以下命令:

现在我的问题是,如何输入这两条记录?我的意思是,每次外来约束都会失败。我尝试输入:

我也试过:

以上两个命令都失败了。给出错误:

错误 1452 (23000):无法添加或更新子行:外键约束失败 BLAH BLAH

伙计们,实际上我正在尝试实现以下 ppt 的第 25 张幻灯片中给出的表格:关系数据模型和关系数据库约束

约束是:

  1. EMPLOYEE 的 SUPERSSN 引用 EMPLOYEE 的 SSN。
  2. DEPARTMENT 的 MRSSN 引用 EMPLOYEE 的 SSN。
  3. EMPLOYEEE 的 DNO 引用 DEPARTMENT 的 DNumber。

创建表后,如何添加记录?它总是会失败外键约束。

0 投票
1 回答
181 浏览

mysql - 如何限制 MySQL 中的自引用表,使行不能引用自身?

这是一个非常基本的表格来说明我的问题。

我当前的代码确保只有拥有 CustID 的任何以前的客户都可以在 ReferralID 列中(即他们告诉客户有关商店的信息。)但是,问题是没有什么能阻止 CustID 在同一行中与 ReferralID 相等,这显然是不可能的. 客户不能告诉自己有关商店的信息。

基本上,如何阻止 CustID 和 ReferralID 在同一行中具有相同的值?

谢谢你,安德鲁

0 投票
1 回答
647 浏览

c# - 在文本树中表示一个自引用表

我想在文本树中表示一个自引用表(如 TreeView,但在文本中)。我一直在努力,到目前为止我做得很好。问题是当我在树中深入几层时。到目前为止结果是这样的:

正如您在Problem Groups上面看到的,格式开始中断并显示额外的行。

我写的代码是:

有没有办法使用更好看的代码正确地表示这一点?

0 投票
1 回答
439 浏览

sql - 在 SQL Server 中使用级联删除对 N 级树进行建模

我需要在 SQL Server 中建模一个 n 级树。我最初做了这样的事情来创建一个Node表:

这是一个自引用表,其中ParentID引用回另一个Node实体(根有一个null ParentID)。但是当我尝试向级联删除添加约束时,我得到了这个:

根据我的阅读,这似乎是 SQL Server 中一个众所周知且合理的限制。有些人建议使用触发器来完成此操作,但如果可能的话,我更愿意避免这种情况。

所以我的问题是 - 如何在 SQL 中对 n 级层次结构或树进行建模以允许级联删除?

我正在使用 SQL Server 2012。