我有 2 个表 customers
和 imap_emails
。 customer
表包含客户的电子邮件。
我正在使用 PHP-IMAP 从电子邮件服务器获取电子邮件,然后保存到数据库表 imap_emails
。
imap_emails
表有 2 个字段 from
和 to
,并且 to
字段包含逗号分隔值。
我需要从第一个表中获取电子邮件,然后在 imap_emails
上搜索 to
和 from
。
首先,我考虑了 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/16208565/