在MySQL 中尋找包含逗號分隔值的電子郵件
使用包含逗號分隔值(CSV) 的MySQL 表時,搜尋資料庫可能具有挑戰性。例如,如果您有一個表,其中的電子郵件地址儲存為 CSV,您可能需要根據特定的電子郵件地址進行查詢。
問題:
資料庫由兩個表組成:“customers”(包含客戶電子郵件地址)和“imap_emails”(包含具有CSV 值的“to”和“from”字段)。目標是從「customers」表中取得電子郵件,並在「imap_emails」表的「to」和「from」欄位中搜尋它們。
使用 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」和「imap_emails」之間執行內部聯接「customers」表基於客戶的電子郵件地址存在於「imap_emails」表的「to」欄位中的條件(由下式決定) FIND_IN_SET)。
註解:
以上是如何在 MySQL 中有效率地搜尋逗號分隔的電子郵件地址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!