查詢具有逗號分隔值的資料庫表可能會帶來挑戰。考慮這樣的場景:您有兩個表格:包含客戶電子郵件的 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中文網其他相關文章!