我有一张包含每个财富 1000 强公司名称的表格:
财富榜:
------------------------------------------------
|fid | coname |
------------------------------------------------
| 1 | 3m |
| 2 | Amazon |
| 3 | Bank of America |
| 999 | Xerox |
------------------------------------------------
在我的时事通讯中,我有一个包含每个用户的第二张表:
我的用户:
------------------------------------------------
|uid | name | companyname |
------------------------------------------------
| 1350 | John Smith | my own Co |
| 2731 | Greg Jones | Amazon.com, Inc |
| 3899 | Mike Mars | Bank of America, Inc |
| 6493 | Alex Smith | Handyman America |
------------------------------------------------
如何吸引为财富 1000 强公司工作的每一位时事通讯订阅者? (通过扫描我的整个 MyUsers 表,查找具有 FortuneList 表中任何 conname 的每条记录)
我希望输出拉动:
------------------------------------------------
|uid | name | companyname |
------------------------------------------------
| 2731 | Greg Jones | Amazon.com, Inc |
| 3899 | Mike Mars | Bank of America, Inc |
------------------------------------------------
(看看它是如何在“Amazon.com, Inc”中间找到“Amazon”的)
最佳答案
尝试使用它,它使用 INNER JOIN
、LIKE
运算符和 CONCAT
:
SELECT *
FROM MyUsers
INNER JOIN FortuneList
ON FortuneList.coname LIKE CONCAT('%', MyUsers.companyname, '%)
(这不会使用您的全文索引,我正在尝试了解如何在 JOIN
中使用 MATCH...AGAINST
。)
关于mysql - 从一个表中选择包含另一个表中一长串单词中的任何单词的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21652794/