1. 程式人生 > 其它 >8-計算裝置的所有零件數量

8-計算裝置的所有零件數量

技術標籤:# SQL例項sql

在這裡插入圖片描述
資料程式碼:

with t1 as 
(
select '房間' as product,'桌子' as fitting,2 as num from dual
union all
select '房間','椅子',3  from dual
union all
select '房間','鏡子',3  from dual
union all 
select '桌子','木頭塊',5  from dual
union all
select '鏡子','木頭塊',5  from dual
union all
select '桌子','螺絲',6  from dual
union
all select '桌子','螺絲帽',8 from dual union all select '椅子','整個木頭',6 from dual union all select '椅子','螺絲',2 from dual union all select '整個木頭','木頭塊',3 from dual union all select '木頭塊','小木頭塊',2 from dual union all select '小鐵片','釘子',2 from dual union all select '小鐵片','鋁片',3 from dual union all select '螺絲'
,'大鐵片',10 from dual union all select '螺絲','中鐵片',10 from dual union all select '螺絲','小鐵片',10 from dual )

下面是答案程式碼:

cte(product,fitting,num) as 
(
select product,fitting ,num  from t1  where product = '房間'
union all
select t.product,t.fitting,t.num*c.num as num
from t1 t inner join cte c on c.fitting =
t.product ) select fitting,sum(num) from cte group by fitting

執行結果:
在這裡插入圖片描述