我自己的类型
CREATE OR REPLACE TYPE chain_t AS TABLE OF NUMBER(11);
在select语句中选择列作为此类型
select
x.id,
cast(multiset(select parent_id from table(x.parents)) as chain_t) as chain
from
xxxx x
如果 x.parents 有值,我有下一个结果,例如:
chain_t(22, 44)
或者如果没有
chain_t(null)
我如何计算链中的行? 例如,在第一个结果中,第二个结果中的2行结果为0行
答案 0 :(得分:2)
使用CARDINALITY()
功能。 Find out more
select id, chain, cardinality(chain)
from (
select
x.id,
cast(multiset(select parent_id from x) as chain_t) as chain
from x
)
/
这是SQL Fiddle based on this simplified version of your posted code。