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 这些又是如何产生的?