如何将这种模式加在一起?
update ps_product_shop set price.2=price.1/25.5 where id_product = *the_same*
price.1 -> id_shop=1
price.2 -> id_shop=2
id_product -> the same for both shops
在prestashop,有价格表。在表ps_product_shop中,我在row1 id_shop = 1和ond row2 id_shop = 2
我需要更新两个不同货币商店的价格。
从id_shop = 1中获取“价格”,将其除以25.5(CZK / EUR)并将其设置为id_shop = 2的价格
我比Oracle数据库管理员要早几年,但是现在我已经没事了...:)
谢谢。科曼奇语
更新: 它是mysql,我在启动线程中将其标记为MySQL ...
在表中,
行.... id_product .... id_shop ....价格
行1 ... 12 ............ 1 .......... 500
row2 ... 12 ............ 2 .......... 8
我需要用price / 25.5更新第2行
答案 0 :(得分:0)
您可以使用join
。如果我理解正确:
update ps_product_shop ps2 join
ps_product_shop ps1
on ps1.id_product = ps2.id_product and
ps1.id_shop = 1 and ps2.id_shop = 2
set ps2.price = ps1.price / 25.5;
这假设每个商店/产品组合有一行。
答案 1 :(得分:0)
您可以在MySql中使用以下查询。由于两家商店的id_product都相同,因此需要在更新查询中使用加入查询。
update ps_product_shop pps1 join ps_product_shop pps2
on pps1.id_product = pps2.id_product
set pps2.price = pps1.price/25.5 where pps2.id_shop='2';