我有一个quote_item表,其中每个项目都包含以下字段:name,product_id,r_code1,r_code2
产品表还有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 :(得分:2)
update qi set qi.rcode_1 = product.rcode_1
from quote_items qi
inner join product
on product.id = qi.product_id
答案 1 :(得分:1)
以下是适用于任何数据库的标准SQL:
update qi
set rcode_1 = (select p.rcode_1 from product p where p.id = qi.product_id);
除了数据库之外,还有其他方法可以表达这一点,但上述内容应适用于任何数据库。