在 postgresql 中获取 child 的所有 parents
Get all parents for a child in postgresql
我在 SQL 服务器上 运行ed 成功。我的系统 运行 在 SQL 服务器和 postgresql.
但是当我从 SQL 服务器更改为 postgresql 时,它 运行 失败了。
我的sql是这样的:
with name_tree as
(
SELECT DepartNo, ParentNo FROM Departments
WHERE DepartNo IN (
SELECT DepartNo FROM BelongToDepartment
WHERE UserNo = 1)
union all
select C.DepartNo, C.ParentNo
from Departments c
join name_tree p on C.DepartNo = P.ParentNo
AND C.DepartNo<>C.ParentNo
)
select * from name_tree
错误是:
name_tree doesn't exist
如何在 postgresql
中获取 child 的所有 parents
MSQ 服务器中的更多详细信息
尝试:
with RECURSIVE name_tree as
(
SELECT DepartNo, ParentNo FROM Departments
WHERE DepartNo IN (
SELECT DepartNo FROM BelongToDepartment
WHERE UserNo = 1)
union all
select C.DepartNo, C.ParentNo
from Departments c
join name_tree p on C.DepartNo = P.ParentNo
AND C.DepartNo<>C.ParentNo
)
select * from name_tree
我在 SQL 服务器上 运行ed 成功。我的系统 运行 在 SQL 服务器和 postgresql.
但是当我从 SQL 服务器更改为 postgresql 时,它 运行 失败了。
我的sql是这样的:
with name_tree as
(
SELECT DepartNo, ParentNo FROM Departments
WHERE DepartNo IN (
SELECT DepartNo FROM BelongToDepartment
WHERE UserNo = 1)
union all
select C.DepartNo, C.ParentNo
from Departments c
join name_tree p on C.DepartNo = P.ParentNo
AND C.DepartNo<>C.ParentNo
)
select * from name_tree
错误是:
name_tree doesn't exist
如何在 postgresql
中获取 child 的所有 parentsMSQ 服务器中的更多详细信息
尝试:
with RECURSIVE name_tree as
(
SELECT DepartNo, ParentNo FROM Departments
WHERE DepartNo IN (
SELECT DepartNo FROM BelongToDepartment
WHERE UserNo = 1)
union all
select C.DepartNo, C.ParentNo
from Departments c
join name_tree p on C.DepartNo = P.ParentNo
AND C.DepartNo<>C.ParentNo
)
select * from name_tree