我们有一个表“url_rewrite”在我们的Magento 2商店,我们需要复制这个表里面的很多值。我们有一个列“store_id”,它包含从1到4的值。另一列为“target_path”,最后一列为“request_path”。
现在,我们需要将所有在“store_id”中包含值“4”的行的“request_path”替换为“store_id”2和4的行的“target_path”。
因此,从屏幕截图中,具有“store_id”4的行应该从具有“store_id”2的行获得“request_path”值,如“laptops/apple-macbook/apple-macbook-air-2023”。
我们需要使用什么样的sql来完成这个任务?
1条答案
按热度按时间ni65a41a1#
下面是使用
update
/join
语法的一种方法:基本上,这会选择具有
store_id
4(别名u
)的行,然后尝试与具有相同target_path
和store_id
4的另一行连接。当连接匹配时,查询将原始request_path
更新为匹配行的request_path
。如果你想要一个
select
而不是update
,我们可能会使用窗口函数而不是自连接: