Let’s say I have a table called ‘species’ with 3 columns: ‘Id’, ‘ancestorId’ and ‘name’. The ‘ancestorId’ is the ‘Id’ of the ancestor specie, so for example if the ancestor of the homo sapiens is the australopithecus, and australopithecus’s ‘Id’ is 5, then homo sapiens’s ‘ancestorId’ is 5. Let’s say, also, that there is a specie called ‘First specie’ whose ‘Id’ is either 0 or null. So what I want is to select a list of ancestors from a particular specie, say, homo sapiens, to the ‘First specie’, no matter how many nodes are on the way. Is this possible with SQL?
Share
The ANSI way is to use a recursive WITH clause:
Supported by:
Oracle’s had hierarchical query support since v2, using
CONNECT BYsyntax.