为何from中同一个表用两次???????????????????????
select '2階',x1.child_id,x1.child_name,x1.child_desc,sum(x1.child_qty*x2.child_qty)*&QTY child_qty1  
  from x_bom_level_v2 x1,
       x_bom_level_v2 x2
 where x1.parent_id=x2.child_id
   and x2.parent_id=&PARENT_ID  
   and x1.operation_seq_num >=800
 group by x1.child_id,x1.child_name,x1.child_desc 
x2去掉,where条件中x1.parent_id=x2.child_id,改成x1.parent_id=x1.child_id效果还一样吗?????????????
哪位高手指点一下

解决方案 »

  1.   

    1、这种叫做自身连接简称自连接
    2、不一样,如果不采取自连接,一张表,x1.parent_id=x1.child_id条件,意思是在本行记录内比较
    这样肯定不等,所以查询不出记录。
      

  2.   

    不能去掉的可以认为x_bom_level_v2这个表里面存储了2种数据,可以认为是两个表的。
      

  3.   

    哪位能將這條語句改成幾條普通的select語句,這樣子才看得比較明白啊
      

  4.   

    哪位能將這條語句改成幾條普通的select語句,這樣子才看得比較明白啊
      

  5.   

    这个叫表的自连接,不能随便更改连接条件,比如你说的
    “where条件中x1.parent_id=x2.child_id,改成x1.parent_id=x1.child_id效果还一样吗?”
    更改过后,很明显,得到的结果将会是不一样的