矩阵旋转循环(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个子级,该怎么办?你对孩子的数量有上限吗?