请参阅此问题database-structure-for-tree-data-structure
这在DB2数据库中是否可行?我知道在Oracle中使用START WITH和CONNECT BY是可能的,我在DB2中没有任何想法,是否有可能在DB2中实现这一点?
谢谢!
答案 0 :(得分:1)
DB2是可行的,here是一个供参考的链接。
基本上,您使用WITH语法。从链接中获取,假设我们有这个表:
CREATE TABLE emp(empid INTEGER NOT NULL PRIMARY KEY,
name VARCHAR(10),
salary DECIMAL(9, 2),
mgrid INTEGER);
我们可以使用此查询:
WITH n(level, empid, name) AS
(SELECT 1, empid, name
FROM emp
WHERE name = 'Goyal'
UNION ALL
SELECT n.level + 1, nplus1.empid, nplus1.name
FROM emp as nplus1, n
WHERE n.empid = nplus1.mgrid)
SELECT level, name FROM n;