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