该表表示类别层次结构,层次结构顶部的元素的父ID为NULL。该表如下所示:
**categoryId categoryName parentId**
1 Home NULL
. . .
. . .
20 Vehicles 1
. . .
35 SUV 20
36 Motorbikes 20
. . .
90 BMW 35
91 Toyota 35
. . .
234 LandCruiser 91
Home>Vehicles>SUV>Toyota>LandCruiser
我正在尝试做的是建立一个SQL查询,这将使我返回:
任何给定[categoryId]的[categoryId],[categoryName]链。它应该循环并获取每一行,直到到达具有parentId ==
NULL的行为止。
如上面的示例示例234-> 91-> 35-> 20-> 1-> NULL(STOP)
您可以使用递归cte:
with cte as (
select
t.categoryId, t.categoryName, t.parentId,
cast(t.categoryId as nvarchar(max)) as path
from categories as t
where t.categoryId = 234
union all
select
c.categoryId, c.categoryName, t.parentId,
c.path + '->' + cast(t.categoryId as nvarchar(max))
from categories as t
inner join cte as c on c.parentId = t.categoryId
)
select categoryid, categoryname, path + '->NULL'
from cte
where parentid is null
sql fiddle demo
问题内容: 我正在努力提高性能,以证明我已经写过并且没有运气的概念证明。我认为这种方法可能有缺陷,但是我正在努力寻找另一种解决方案。我介绍了我可以找到的所有Ask Tom文章和论坛帖子。 我们正在运行Oracle 10g R2。 我们将项目按层次结构排列。数量是在关系上定义的。层次结构中有两种类型的对象:逻辑分组的程序集和代表实际项目的项目。因此,如果我们要代表一个完整的工具集,我们将有一个代表整
问题内容: 像这样对表格进行排序的最佳方法是什么: 要通过分级排序,它 的ID 或 名字 : “比萨饼” //节点1 “piperoni” //节点1.1 “奶酪” //节点1.2 “额外的奶酪” //节点1.2.1 “vegetariana” //节点1.3 “汉堡” //节点2 ‘咖啡’//节点3 编辑: 名称 末尾的数字是为了更好地可视化strucutre,而不是用于排序。 编辑2: 正如多
在Tableau中,可以构建层次结构以可视化数据。可以通过以下步骤在Tableau中创建它: 例如,考虑数据源,例如Sample-Superstore,以及它的维度和度量。 第1步: 首先转到工作表。然后, 选择一个维度,然后右键单击该维度以创建层次结构。 转到“层次结构(Hierarchy)”选项。 并且,单击下面屏幕截图中显示的“创建层次结构(Create Hierarchy)”选项。 第2步
操作步骤: 菜单栏: Navigate —>Type Hierarchy 快捷键: Mac: control + H Windows\/Linux: Ctrl + H
零售商店的正确模式是什么?公司从商店销售产品。 这似乎违反了我对OOP所知的全部知识。通过层次结构向下传递数据的方法--在对象之间复制参数?我错过了什么?
本规范定义了一个用于部署和打包用途的,可存在于开放文件系统、归档文件或一些其他形式中的层次结构。建议 servlet 容器支持这种结构作为运行时表示形式,但不是必须的.