我有两个单独的数据表。
这是表1
:
Customer Name Address 1 City State Zip
ACME COMPANY 1 Street Road Maspeth NY 11777
这是表2
:
Customer Active Account New Contact
ACME Y John Smith
我正在使用 JOIN
运行查询,其中仅包含两个表中的联接字段相等的行。
我正在加入 Table1
中的 Customer Name
和 Table2
中的 Customer
。显然不匹配。我想要做的是显示每个表中前 4 个字符匹配的结果,以便我得到结果或匹配。使用 LIKE
或 LEFT
可以吗?
最佳答案
是的,这是可能的。 但我怀疑表 2 中的每个名称只有 4 个字母,因此这里有一个解决方案,其中 table2 中的名称是 table1 中名称的开头。
用 %
连接字符串。它是“任意或无”的占位符/通配符。
SELECT
*
FROM
Table1
INNER JOIN Table2 ON Table1.CustomerName LIKE CONCAT(Table2.Customer, '%');
不同 DBMS 之间的字符串连接可能会有所不同。
关于sql - 在 JOIN 查询中使用 LIKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27550538/