我试图通过加入两个表来找到每个类别的成本
我已经编写了这个查询,但它似乎为所有类别设置了相同的结果值。
SELECT category,
(select sum(count(partid) * p.cost)
from PARTS p join order_line o using (part_id)
group by category, p.cost)
from parts p join order_line o using (part_id)
group by category
表格结构:
Parts:PartID#,description,manu_date,manu_id,cost,retai,discount,category
Order_line: Order#,item#,PartID,manu_id,unitprice,quantity
我想要完成的是我想要计算每个零件成本表的时间,并使用order_line表中的(数量* partid)计数来找出哪个类别的成本最高。
我正在使用oracle 11g
答案 0 :(得分:2)
您的子查询与嵌入sql没有关联,因此每个类别的结果都相同。
您无需权衡部件成本与订单数量,这将通过连接隐式发生:
SELECT category
, sum (p.cost * o.quantity)
FROM parts p
JOIN order_line o USING (partid)
GROUP BY category
;