日期:2014-05-16 浏览次数:20527 次
With reftables(reftabname,PRIORITY) as( Select reftabname,1 from syscat.references as refx where refx.tabname='PROJECT' union all Select ref2.reftabname,reftables.PRIORITY+1 from reftables,syscat.references ref2 where reftables.reftabname=ref2.tabname ) Select * from reftables ORDER BY PRIORITY DESC;
With reftables(tabname,PRIORITY) as( Select tabname,1 from syscat.references as refx where refx.reftabname='PROJECT' union all Select ref2.tabname,reftables.PRIORITY+1 from reftables,syscat.references ref2 where reftables.tabname=ref2.reftabname and reftables.PRIORITY<2 ) Select distinct * from reftables ORDER BY PRIORITY DESC;
reftables.PRIORITY<2是用来控制层数,子表找到第几层!