2015-07-19 159 views
1

我有,其中每个项目具有以下字段quote_item表:姓名,PRODUCT_ID,r_code1,r_code2嵌套查询SQL

产品表还具有r_code1和r_code2

这些数据是因为用户两个位置希望引用是一个快照,如果他们稍后在产品级别更改r_code1,它不应该自动影响引号。

但是我现在被要求反映r_code对现有引号的更改,因为有错误。

如果我有20个quote_items报价,我将如何编写一个查询,更新每个quote_item.rcode_1到相应product.rcode_1。链接是通过quote_item.product_id = product.id。

在此先感谢 尼克

+0

您正在使用哪些DBMS? Postgres的?甲骨文? –

+0

postgres,对不起,离开了。 – nktokyo

回答

1

以下是会在任何数据库工作标准的SQL:

update qi 
    set rcode_1 = (select p.rcode_1 from product p where p.id = qi.product_id); 

还有其他的方式来表达这一点,取决于数据库,但以上应该在任何数据库中工作。

2
update qi set qi.rcode_1 = product.rcode_1 
from quote_items qi 
    inner join product 
     on product.id = qi.product_id 
+0

谢谢。我希望我可以选择2个正确的答案。 – nktokyo