2
我是一个新手,最近参与了一个项目,以从我们业务的一个区域中删除系列化(因此所涉及的材料成为未分化的批量部分,而不是个别认可的项目)。如何使用组的结果更新表格
作为这个项目的一部分,我需要总结部分持有单位的数量,然后用这个值更新一个表格。这是我的第一次尝试:
UPDATE TABLE(AVT) a
SET a.qty = (Select part_no, sum(b.qty) from inventory_part_in_stock_tab b
where b.contract = '12505'
group by b.part_no
WHERE a.part_no = b.part_no);
我知道这是完全不正确的,但希望能够说明我正在尝试做什么。我已经设法创建了一个基于光标的程序,我认为它实现了我想要的,但是要慢慢实用。
这会以列表形式在屏幕上产生正确的答案,但不会更新文件!
Select part_no, sum(qty) from inventory_part_in_stock_tab
where contract = '12505'
group by part_no
我们运行的是Oracle 9i能有人帮忙吗?
非常感谢,我会去试试看,并回复给你 – Slarty 2013-03-15 10:40:41
感谢伟大的答案,解决了我的问题。我认为查询应该读取的一个小问题是:UPDATE AVT a SET a.qty =(从inventory_part_in_stock_tab b中选择sum(b.qty),其中b.contract ='12505'AND a.part = b.part_no);我的错原来(没有“TABLE”) – Slarty 2013-03-15 11:36:39