还有问我怎样使用SQL语句对其数据库DATA进行分层分组使其显示出来的数据为
  A---1---X
   |   |-Y
   |   |-Z
   |
   |-2---L
   |   |-Y
   |   |-Z
   |
   |-3---L
   |   |-M
   |   |-Z
 B---1---X
   |   |-Y
   |   |-Z
   |
   |-3---L
   |   |-M
   |   |-Z
   |
   |-4---X
   |   |-Y
   |   |-N
 X---2---L
   |   |-Y
   |   |-Z
   |
   |-3---L
   |   |-M
   |   |-Z
   |
   |-5---L
   |   |-M
   |   |-N
的结构

解决方案 »

  1.   

    还是树形结构的查询
    select up,down,level from DATA  connect by prior up=down 如果有开始位置就加上start with 条件
    详细的看一看树开形查询的详细文档!
      

  2.   

    select rpad('', level-1, '--') || down,level from DATA  connect by prior up=down start with up='A';至于计算零件个数恐怕需要存储过程或应用层程序来实现了
      

  3.   

    参考一下
    http://community.csdn.net/Expert/topic/3448/3448087.xml?temp=.5652887里标准bom的计算
      

  4.   

    flamingo100(lxj) 再问几个问题:1.创建的程序包写好后在那里可以修改?2.如果产品中A11是也是一个原材料(如:电源)、A111和A112只是电源上的粘帖纸,在生产时需要计算A11。请问这样程序包怎样写?3.还有我需要同时计算价格,但价格是在其他的表中的,请问这样程序包怎样写?4.我怎样将其运行程序整合到VB或APS网页程序中!也就是使用者不需要使用SQL PLUS WORKSHEET。谢谢!