矩阵旋转循环(sql)
我有父母/子女矩阵矩阵旋转循环(sql),sql,hierarchical-data,Sql,Hierarchical Data,我有父母/子女矩阵 Parent_col_ID Child_col_ID 1 2 2 3 3 4 3 5 我需要将其修改为 Main_Parent Child1 Child2 Child3 1 2 3 4 1 2 3 5 如何在sql中实现这一点 您可以
Parent_col_ID Child_col_ID
1 2
2 3
3 4
3 5
我需要将其修改为
Main_Parent Child1 Child2 Child3
1 2 3 4
1 2 3 5
如何在sql中实现这一点 您可以使用
左连接
和不存在()。以下是您的疑问:
--DROP TABLE CollEgues
--GO
CREATE TABLE CollEgues
(
Parent_col_ID int
,Child_col_ID int
);
INSERT INTO CollEgues VALUES(1,2),(2,3),(3,4),(3,5);
SELECT Main.Parent_col_ID AS Main_Parent
,Main.Child_col_ID AS Child1
,Child1.Child_col_ID AS Child2
,Child2.Child_col_ID AS Child3
FROM CollEgues AS Main
LEFT JOIN CollEgues AS Child1 ON Main.Child_col_ID = Child1.Parent_col_ID
LEFT JOIN CollEgues AS Child2 ON Child1.Child_col_ID = Child2.Parent_col_ID
WHERE NOT EXISTS (SELECT 1 FROM CollEgues C WHERE Main.Parent_col_ID=C.Child_col_ID);
你用的是什么产品?“SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加一个“postgresql
,oracle
,sql server
,db2
,…如果一个“主父级”有10个子级,而另一个“主父级”只有3个子级,该怎么办?你对孩子的数量有上限吗?