日期:2014-05-18  浏览次数:20454 次

在线等,难我要死了,子父问题@@@@@@@@@@@@@我的最后的分了
create   table   aa(pno   varchar(50),cno   varchar(50),mul   numeric(18,2))
--select   'select   '+quotename(pno, ' ' ' ')+ ', '+quotename(cno, ' ' ' ')+ ', '+str(mul)   +   char(13)+ 'union   all   '   from   aa
insert   into   aa(pno,cno,mul)
select   '1 ', '20 ',                   2
union   all  
select   '1 ', '200 ',                   2
union   all  
select   '1 ', '2 ',                   2
union   all  
select   '2 ', '20 ',                 10
union   all  
select   '2 ', '200 ',                 10
union   all  
select   '2 ', '1 ',                 10
-----------------------------
--我想要的结果
1   20   2
1   200   2
2   20   20   --1的mul*2的mul
2   200   20--1的mul*2的mul
--这行2里面有1,忽略掉(意思就是不能有死循环)
2   20   40
2   200   20
1   20   20   --2的mul*1的mul
1   200   20   --2的mul*1的mul
---------------
总结就是:
要叶子节点,不能产生死循环;



------解决方案--------------------
总结就是:
要叶子节点,不能产生死循环;
------------------------------
這個貌似資料本身要正確吧,不然,就
select '1 ', '2 ', 2
select '2 ', '1 ', 10
這2條,有何條件要攝取2這條?為何不去1這條?都要給出取捨的條件...
------解决方案--------------------
不明白结果:
1 20 2
1 200 2
2 20 20 --1的mul*2的mul
2 200 20--1的mul*2的mul
--这行2里面有1,忽略掉(意思就是不能有死循环)
2 20 40 --从哪来的?
2 200 20
1 20 20 --2的mul*1的mul
1 200 20 --2的mul*1的mul 这些又是如何产生的?