查询具有逗号分隔值的数据库表可能会带来挑战。考虑这样的场景:您有两个表:包含客户电子邮件的 customer 和包含 to 字段的 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
请注意,此查询检索客户电子邮件地址出现在 imap_emails 的 to 字段中的电子邮件。根据您的要求,您可以修改查询以进一步细化搜索条件。
以上是如何从具有逗号分隔值的 MySQL 表中高效检索电子邮件?的详细内容。更多信息请关注PHP中文网其他相关文章!