Das Abfragen von Datenbanktabellen mit durch Kommas getrennten Werten kann eine Herausforderung darstellen. Stellen Sie sich das Szenario vor, in dem Sie zwei Tabellen haben: „customers“, die Kunden-E-Mails enthalten, und „imap_emails“, wobei das „to“-Feld durch Kommas getrennte E-Mail-Adressen enthält. Um E-Mails abzurufen und anhand der Felder „An“ und „Von“ zu suchen, reicht eine herkömmliche LIKE-Bedingung möglicherweise nicht aus.
Eine effizientere Lösung ist die Verwendung der Funktion FIND_IN_SET. Diese Funktion wertet aus, ob ein bestimmter Wert in einer durch Kommas getrennten Zeichenfolge vorhanden ist, sodass Sie die Suchergebnisse effektiv eingrenzen können. Hier ist eine modifizierte Version Ihrer Abfrage mit FIND_IN_SET:
SELECT * FROM imap_emails INNER JOIN customers ON FIND_IN_SET(customers.email, imap_emails.to) > 0
Beachten Sie, dass diese Abfrage E-Mails abruft, bei denen die E-Mail-Adresse des Kunden im Feld „An“ von imap_emails erscheint. Abhängig von Ihren Anforderungen können Sie die Abfrage ändern, um die Suchkriterien weiter zu verfeinern.
Das obige ist der detaillierte Inhalt vonWie kann ich E-Mails effizient aus MySQL-Tabellen mit durch Kommas getrennten Werten abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!