【发布时间】:2014-07-22 22:06:10
【问题描述】:
在 Oracle 中,如果我有一个表定义为……
CREATE TABLE taxonomy
(
key NUMBER(11) NOT NULL CONSTRAINT taxPkey PRIMARY KEY,
value VARCHAR2(255),
taxHier NUMBER(11)
);
ALTER TABLE
taxonomy
ADD CONSTRAINT
taxTaxFkey
FOREIGN KEY
(taxHier)
REFERENCES
tax(key);
有了这些值……
key value taxHier
0 zero null
1 one 0
2 two 0
3 three 0
4 four 1
5 five 2
6 six 2
这个查询语法……
SELECT
value
FROM
taxonomy
CONNECT BY
PRIOR key = taxHier
START WITH
key = 0;
将产生……
zero
one
four
two
five
six
three
这是如何在 PostgreSQL 中完成的?
【问题讨论】:
标签: sql oracle postgresql recursive-query connect-by