【发布时间】:2021-09-03 22:00:18
【问题描述】:
我需要关于 select 语句中的 WHERE/LIKE 子句的帮助。我希望它从 table1.results 返回值 WHERE/LIKE table2.selection 列包含 table1.data 列中的所有字符。
如果选择列有字符“abc”并且数据列有“bc”,则它可能是匹配项。如果选择列有“abc”,而数据列有“abcd”,则它不会匹配,因为选择列缺少“d”。
我尝试了不同的运算符和正则表达式,但无法弄清楚。
表1:
wdt_id | data | results
1 | abcd | Mazda
2 | abde | Toyota
3 | ace | Honda
表2:
wdt_id | selection | selection_results
1 | abde | null
2 | abcd | null
3 | ab | null
声明:
SELECT results
FROM table1
WHERE table1.data LIKE concat(‘%’,table2.selection,'%');
编辑: 我在上面添加了一些数据。 select 语句是大型 UPDATE 触发器的一部分。触发器更新 selection_results 列。 有了上面的数据,row1的选择结果就是Toyota。
【问题讨论】:
-
您可以添加一些数据,以便我们更好地了解您在做什么我们需要minimal reproducible example
-
我添加了你的数据和更新命令
-
谢谢!抱歉耽搁了。我花了一段时间来测试我的更新触发器。
标签: mysql where-clause