gpt4 book ai didi

mysql - 我如何更新层次结构连接表

转载 作者:行者123 更新时间:2023-11-30 21:28:22 25 4
gpt4 key购买 nike

我对一种情况有疑问:

我在 mysql 中有 2 个表:

  • 更新街道
  • 验证街道

我想更新 update_streets 表上的街道,加入验证 streets 表并检查 countycountry 两个表中的字段相同

UPDATE
update_street p
INNER JOIN
verify_streets m
ON
p.county = m.verify_streets AND p.country = m.country AND p.street =
m.street %%
SET
p.street = m.street

Sample Data

verify_street
id | street | county | country
---|---------------|--------|--------
1 | elize glove | varna | bulgaria

update_street
id | street | county | country
---|--------|--------|---------
1 | elize | varna | bulgaria

我需要使用 verify_street 中的第一个 street 名称更新 update_street 表,因此:elize from update_street成为 elize 手套。

最佳答案

根据您的示例数据,我认为您需要 LIKE 运算符:

UPDATE update_street p INNER JOIN verify_streets m
ON p.country = m.country AND p.county = m.county AND m.street like concat('%', p.street, '%')
SET p.street = m.street

如果您希望 verify_streets 中的街道开始并且不包括 update_street 中的街道,则将 ON 子句的最后一个条件更改为:

m.street like concat(p.street, '%')

关于mysql - 我如何更新层次结构连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57627689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com