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/51091163/

相关文章:

php - 将表单信息发送到数据库中存储的电子邮件地址

php - MySQL:检查组内的值

mysql - SuiteCRM - 多服务器设置

php - 如何在 Laravel 5.8 中使用 IF 和 ELSE 检查 mysql 表 NULL 或 NOT?

mysql - 在 SQL 中根据 CASE 结果使用不同的 WHERE 子句

php - 将自动递增值添加到另一个表

php - 网格和列表的不同 css 样式与 WooCommerce 网格/列表切换

php - 使用自定义存储库和包使用 Composer 设置项目

php文件中的php处理/变量生成标记的xml文件

php - PDO 准备在单个查询中插入多行