在我的oracle 11g数据库中,我有两个表。第一个accitem
包含项目信息,第二个acchart
包含图表信息。表accitem
中的每一行都是唯一的。没有重复。在另一个表中,acchart item_type
引用acchart
表中的外键。它看起来像这样:
Accitem
ID Details
BS Balance sheet
PL Profit & loss
acchart
item_code item_description item_type
INC Income PL
EXP Expenses PL
Ass Assets BS
Eqt Equity BS
我想要实现的目标如下:
Balance Sheet
+ Assets
+ Equity
Profit & Loss
+ Income
+ Expenses
你将如何实现这一目标?
答案 0 :(得分:0)
您确实可以使用connect by
:
select decode(level, 2, ' + ', '')||q.name from
(
select ID, Details name, null parent_id
from accitem
UNION ALL
select null ID, item_description name, item_type parent_id
from acchart
) q
start with parent_id is null
connect by prior id = parent_id
但是在较大的数据集上,它的性能值得怀疑。