php - 使用逗号分隔值 mysql 进行搜索

标签 php mysql

我有 2 个表 customersimap_emailscustomer 表包含客户的电子邮件。

我正在使用 PHP-IMAP 从电子邮件服务器获取电子邮件,然后保存到数据库表 imap_emails

imap_emails 表有 2 个字段 fromto,并且 to 字段包含逗号分隔值。

我需要从第一个表中获取电子邮件,然后在 imap_emails 上搜索 tofrom

首先,我考虑了 LIKE 搜索条件,但我想要类似 FIND_IN_SET 或其他内容。

我怎样才能以更好的方式实现这一点? (由于某些原因,我无法在该表上使用关系)

请指教。

最佳答案

基于 FIND_IN_SET 进行联接的示例

SELECT *
FROM imap_emails
INNER JOIN customers
ON FIND_IN_SET(customers.email, imap_emails.to) > 0

您没有说明您希望如何缩小范围(即,如果一封电子邮件使用 2 个电子邮件地址,您是否希望同时返回两封电子邮件),因此现阶段无法添加太多内容。

关于php - 使用逗号分隔值 mysql 进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48271319/

相关文章:

php - 我们可以通过在链接上传递订阅 ID 来取消订阅定期付款吗

php - mySQL 需要一种更有效的方法来检查数据库并向数据库添加值

mysql - 如何从命令行清除未执行的 MySQL 查询?

mysql - 使用 INNER JOIN 时 MySql 语法错误

mysql - 使用 2 Where 子句更新列不同的表

php - 将 HTML 文本限制为 500 个字符

javascript - 如何在 Laravel 中结合 Session 和 API 身份验证?

javascript - 通过Ajax成功将数据插入mysql后无法重定向

c# - 导入MySQL时格式化数据表日期列

php - 登录 session 问题