- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个菜单的hierarchyID 和UserRights 的问题。例如,我只想授予用户 4 级的权限,我的查询应该自动从 4 级子级中选择所有父级。
这该怎么做 ?
你明白我的问题吗?我只是想要一个 child 的所有 parent (祖先)。
问候曼努埃尔
最佳答案
我最近一直在与 HierarchyId 一起工作,我遇到了这个问题,正在寻找另一个问题的答案。我想我会把这个例子混在一起,因为它说明了一些事情。首先,您可以在没有递归 CTE 的情况下获得条件表达式。其次,GetDescendantOf 是包容性的,因此您无需检查 t1.NodeId = t2.NodeId
(我通常更喜欢连接到子查询)。这是您可以玩的完整演示:
BEGIN TRANSACTION
CREATE TABLE #HierarchyDemo
(
NodeId HIERARCHYID PRIMARY KEY NOT NULL,
Description AS NodeId.ToString(),
Depth AS NodeId.GetLevel()
)
INSERT INTO #HierarchyDemo VALUES ( HierarchyId::GetRoot() );
INSERT INTO #HierarchyDemo VALUES ( CAST ('/1979/' AS HIERARCHYID) );
INSERT INTO #HierarchyDemo VALUES ( CAST ('/2012/' AS HIERARCHYID) );
INSERT INTO #HierarchyDemo VALUES ( CAST ('/2012/2/' AS HIERARCHYID) );
INSERT INTO #HierarchyDemo VALUES ( CAST ('/1979/4/' AS HIERARCHYID) );
INSERT INTO #HierarchyDemo VALUES ( CAST ('/2012/2/17/' AS HIERARCHYID) );
INSERT INTO #HierarchyDemo VALUES ( CAST ('/1979/4/6/' AS HIERARCHYID) );
SELECT *
FROM #HierarchyDemo;
SELECT *
FROM #HierarchyDemo startingPoint
INNER JOIN #HierarchyDemo parent
ON startingPoint.NodeId.IsDescendantOf(parent.NodeId) = 1
WHERE startingPoint.Description = '/2012/2/17/'
ROLLBACK TRANSACTION
关于HierarchyID 如何从 child 那里获得所有 parent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5348776/
给定以下架构和数据: CREATE TABLE ##Nodes ( NodeCode hierarchyid, NodeName varchar(10) ) INSERT INTO #
使用t-sql hierarchy我如何获取所有没有子项的行(即最后的后代)? 假设我的表格结构如下: Id, Name, HierarchyId 并有这些行: 1, Craig, / 2, S
SQL Server 2008 带 hierarchyId 鉴于这种结构: CREATE TABLE Employee ( EmpId INT PRIMARY KEY IDENTITY,
当我试图找到单个父节点时,这里的代码不起作用 declare @val hierarchyid select @val = dbo.GetHierarchyIDbyID(30) --get the p
我正在进行多层次营销(二进制),如下所示: (但不要求二叉树是完美的,一个节点可以有0-2个子节点) 我的问题是我从数据库中获取的数据是平面列表。 请注意我使用的是 hierarchyid (sql
id hierid --------------------- 2 | /2/ 7 | /2/7/ 8 | /2/8/ 11 | /2/7/11/ 1
我有一个菜单的hierarchyID 和UserRights 的问题。例如,我只想授予用户 4 级的权限,我的查询应该自动从 4 级子级中选择所有父级。 这该怎么做 ? 你明白我的问题吗?我只是想要一
我想在 SQL Server 2005 中创建一个 CLR 用户定义类型,它具有与层次结构模型的 hierarchyid 相同的性能优势。 有没有人有任何想法/指点? 最佳答案 我找到了 - hier
使用我在网上找到的示例,我创建了一个函数,该函数使用 GetReparentedValue 重新设置子级的父级。 但是,当我运行代码时,出现以下错误:无法在对象中插入重复的键。 我明白为什么(因为我正
据我所知,我们必须将此类型映射为二进制才能在应用程序代码中访问它。但为什么没有与所有这些类型方法完全等效的方法呢? 我们应该如何在代码中使用?或者我们根本不应该在 SQL 环境之外使用它? 编辑:问题
我有一个分层数据。最常见的查询是“获取节点的父分支”和“获取节点的子树”。更新和插入不太可能经常发生。我正在嵌套集和 hierarchyid 之间进行选择。就我而言,在索引列上对嵌套集的搜索应该相当快
我正在开发信息系统中的邮件中心,今天用户Eric建议使用architectureid数据类型来跟踪邮件回复,因为目标是显示为Outlook或Gmail对话。 为了简化,我在数据库表Messages中:
我是 KendoUI 的新手,所以我想知道是否/如何在我的 KendoUI TreeView 中使用我的 sql server 数据库中的新 HierarchyId 数据类型表示的数据。关于如何处理这
我刚刚开始在 Sql Server 中使用 hierarchyId。我正在研究 SQL Server 中的不同功能。但是,这对我来说听起来像是对非常厚的数据层的调用,我想避免这种情况。 C# 中是否有
我当前的应用程序是在 JAVA 中使用 Hibernate 在 SQL Server 2008 服务器中构建的,我使用了 HierarchyId 我数据库中部门层次结构的数据类型。 我编写了 SQL
我需要做的是,我在 sql server 中有一个使用 HierarchyID 数据类型的注释表,并希望将其映射到 Code First/EF 4.3 类。我怎样才能做到这一点? 另外,插入/删除时如
我在 NuGet 上找到了 EF.HierarchyId。 EF6.1.1现在好像支持了? 想知道是否有任何关于如何使用它的文档。 例如: - 它适用于 edmx 吗?它可以导入带有hierarchy
我正在将旧的国家/地区/位置数据库结构重构为分层表。 我将使用新表的主键和一个自引用的 ParentID 列(在主键上)作为 hierarchyid 列的基础。 因此我的表看起来像: PK 名称 Pa
我正在尝试在包含大约 50,000 行(将来会大幅增长)的表 (dbo.[Message]) 中实现hierarchyID。但是,检索大约 25 个结果需要 30-40 秒。 根节点是一个填充符以提供
我正在阅读 SQL Server 2008 圣经,它说物化路径模式比层次 ID 快得多。这是真的吗?如何使hierarchyid 具有相同或更好的性能。 最佳答案 本章解释了设计和查询层次结构的三种方
我是一名优秀的程序员,十分优秀!