我想构造一个在PostgreSQL数据库上使用的“递归”查询,这个想法和您想象的一样基本:)
SELECT sourceid, destinationid FROM trail.log
WHERE sourceid = 'T0'
OR sourceid in (SELECT destinationid FROM trail.log where sourceid ='T0')
OR sourceid in (SELECT destinationid FROM trail.log where sourceid in ( you see where I want
当前表如下所示:
每个对象都有一个唯一的名称,它的父名和层次结构。
name parent hierarchy value
A A 1 100
B A 2 0.5
C B 3 0.5
我的预期结果是:
name parent hierarchy value
A A 1 100
B A 2 50
C B 3 25
我的疑问是
SELECT tb1.[name],
tb1.[pa
我已经写了一个查询,允许我返回服务器和它们所在的文件夹的列表,但我还需要返回父文件夹,这是我正在努力做到的。
下面是我编写的查询,它可以正确地返回文件夹和服务器。
SELECT
a.foldername ,
a.[Description],
b.foldername,
b.server_name ,
b.[description]
FROM table a
JOIN table b
ON a.folder_id = TheServer.folder_id
WHERE a.server_type = 0
我有一张这样的表格:
create linkedList (
id int identity(1, 1),
parentId int not null, -- foreign key to table.id, always < this row's id
name nvarchar(200)
)
我想将该表中的行插入到:
create reportTable (
id int,
parentId int not null, -- foreign key to reportTable.id
name nvarchar(200)
)
.
我试图遍历Server数据库中的所有外键,以生成表之间的所有可能路径。下面的查询似乎主要适用于我所需要的内容,只是它似乎无限期地运行。我的目标是能够在数据库中的任意两个表之间找到最有效的外键路径,方法是使用对目标表的“跳数”最少的路径。是否有办法限制下面的查询,使其不超过20跳?
WITH cte
AS
(
SELECT
fk.create_date
, fk.modify_date
, fkc.constraint_object_id AS ConstraintId
, OBJECT_NAME(fkc.constrai
我有一个查询要解决
with recursive cte as(
select employee_id from employees where manager_id = 1 and employee_id != 1
union all
select a.employee_id from employees a inner join cte b on b.employee_id=a.manager_id)
select employee_id from cte
我阅读了文档,了解到第一行是anchor member,第二行是连接结果集,第三行是引用cte的子查询,因此
我有一个CTE来显示两个表上的依赖树(父表和子表)。存在导致循环依赖的数据问题,导致引发最大递归级别错误。即
Table: Parent
Id
ItemId
Table: Child
Id
ParentId
ItemId
Example Circular Ref data
Table: Parent
Id ItemId
1 A
2 B
Table: Child
Id ParentId ItemId
1 1 B
2 2 A
这些表中有数千行。我如何写一个查询,识别违规的引用?或者,是否有一种方法来设置最大递归级别,然后在命中
我正在尝试编写一个高效的递归查询。我遇到过CTE,并找到了许多示例。然而,我发现的每个示例都返回相同的递归数据,而我需要返回一些不同的数据。
例如,我的分层数据是一个位置表。
[Locations]
ID int
Title nvarchar(100)
ParentLocationID int
但是我想要返回的数据是在活动表中。我想返回与特定位置关联的所有活动,以及所有“子”位置。
[Activities]
ID int
Title nvarchar(100)
LocationID int
我是CTE的新手,从我的例子中看不出如何做到这一点。任何帮助都将不胜感激。
我在树视图中表示的关系数据库中存储了一个层次结构。每个节点都有其属性的不同字段,并通过ID了解其父节点。这是一个父-子关系模型。
如果节点有子节点,则在节点名称前面用+表示。通过单击+,您可以展开节点并查看节点子节点。如果子节点有子节点,那么子节点本身就有一个+,这样到最低的级别。
一个简化的treeview示例如下:
[+] A Land
[+] A.1 Car
A.1.A Motor
我有一张桌子,像这样: oName oPost oPoint
A 1 NULL
B 2 1
C 3 1
D 4 1
E 5 2
F 6 2
G 7 3 因此,如果我选择oName = A,那么结果应该是: oName
A
B
C
D
E
F
G 如果我选择oName = B,那么结果应该是: oName
B
E
F 我如何在SQL上做到这一点?
给定数据的下表(从逗号分隔的组件列表导入数据)
[SQL CTE]
;WITH COMPONENTS(ID, TEXT, CHILD) AS
(
SELECT
ID,TEXT, (CASE WHEN PATINDEX(' %',TEXT)=1 THEN 1 ELSE 0 END)
FROM tblComponents
)
SELECT * FROM COMPONENTS
[TABLE DATA]
ID | TEXT | ISCHILD
---------------------------------------------
我有一张表,它的结构如下;
Tablename: Codes
ID int
CodeID int
ParentID int
Name varchar
是否可能在MSSQL 2012中执行CTE中的查询以递归选择所有值?
如果CodeID = NULL,则为代码的根。当您走下一步时,ParentID将与CodeID相关联。
例如,从ID = null和ParentID =X的代码中选择名称
谢谢你的进阶。
下面的CTE查询抛出“语句已终止。在语句完成前已耗尽最大递归100”。
WITH MyCTE
AS (
SELECT o.organizationid,
organization AS organization
FROM organization o
INNER JOIN store s ON s.organizationid = o.organizationid
UNION ALL
SELECT store.storeid,
CAST(storeNAme AS NVARCHAR(50)) AS storeNAme
FROM store
我有一张这样的桌子:
|ItemID|ItemName|ParentID|
|... etc more records ...|
|1234 |Itemlol |432 |
|... etc more records ...|
|1543 |Kthxhi |1234 |
|... etc more records ...|
|1938 |FunTimes|1543 |
|... etc more records ...|
|3765 |Apples |1938 |
|... etc more records ...|
|8634 |Oranges |37
目前,我们有一个存储过程,它通过执行以下操作从原始模式中的表中返回数据:
WITH CTE AS
(
-- Start CTE off by selecting the id that was provided to stored procedure.
SELECT *
FROM [dbo].[TestTable]
WHERE [Id] = 1
-- Recursively add tasks that are children of records already found in previous iterations.
UNION ALL
我有我的数据库设计,根据图表。
Category表是自引用父级子关系。
Budget将为每个类别定义所有类别和数量
Expense表将包含已花费金额的类别的条目(请考虑此表中的Total列)。
我想编写select语句,该语句将检索具有以下列的数据集:
ID
CategoryID
CategoryName
TotalAmount (Sum of Amount Column of all children hierarchy From BudgetTable )
SumOfExpense (Sum of Total Column of Ex