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

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

imap_emails表具有2个字段fromto,而to字段包含逗号分隔的值。

我需要从第一个表中获取电子邮件,然后在to上针对fromimap_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/

10-14 17:13
查看更多