作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对一种情况有疑问:
我在 mysql 中有 2 个表:
我想更新 update_streets
表上的街道,加入验证 streets
表并检查 county
和 country
两个表中的字段相同
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/
我是一名优秀的程序员,十分优秀!