gpt4 book ai didi

SQL - 比较来自两个表的字符串(模糊匹配......排序)

转载 作者:行者123 更新时间:2023-12-01 03:51:31 45 4
gpt4 key购买 nike

我已经搜索了这些问题,并且提出了类似的问题,但没有我认为可以使用的解决方案。这个问题类似于模糊匹配......有点。我需要帮助比较两个表。一个表是公司引用表,另一个是获取每天导入的原始公司数据的表。引用表很干净,并且有一个与每个公司相关联的公司 ID。导入的每日数据没有公司 ID。我想要做的是让每日数据引用 company_name 上的“公司引用表”,并根据 company_name 更新“公司表”的列 company_state。不幸的是,company_name 的每日数据字符串每天并不总是相同。实际公司名称前面或后面可能有各种字符(a-z、0-9、+、-、.)和空格,每天都有不同的长度,所以我不相信我可以使用 charindex 来清理它。

公司引用表

company_id  company_name  company_state
1 Awesome Inc NY
2 Excel-guru AL
3 Clean All MI

公司表
company_name              company_state
abc123 Awesome Inc NULL
Excel gur xyz-987 NULL
Clean All Cleanall NULL

我想要它做的是这个。有点像模糊匹配。

公司表
company_name              company_state
abc123 Awesome Inc NY
Excel gur xyz-987 AL
Clean All Cleanall MI

任何帮助深表感谢。谢谢你。

最佳答案

尝试以下查询更新 公司 table :

update company c INNER JOIN company_ref cr
ON c.company_name LIKE concat('%', cr.company_name, '%')
SET c.company_state = cr.company_state;

另一种方法是使用 选择
SELECT c.*, cr.* FROM company c INNER JOIN company_ref cr
ON c.company_name LIKE concat('%', cr.company_name, '%');

SQL fiddle : http://sqlfiddle.com/#!2/ec76f/1

关于SQL - 比较来自两个表的字符串(模糊匹配......排序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22215608/

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