E-Mails mit durch Kommas getrennten Werten in MySQL finden
Beim Arbeiten mit MySQL-Tabellen, die durch Kommas getrennte Werte (CSVs) enthalten, wird nach Daten gesucht kann eine Herausforderung sein. Wenn Sie beispielsweise eine Tabelle mit E-Mail-Adressen haben, die als CSVs gespeichert sind, müssen Sie diese möglicherweise anhand einer bestimmten E-Mail-Adresse abfragen.
Frage:
Eine Datenbank besteht aus zwei Tabellen: „customers“ (enthält Kunden-E-Mail-Adressen) und „imap_emails“ (enthält die Felder „to“ und „from“ mit CSV-Werten). Ziel ist es, E-Mails aus der Tabelle „Kunden“ abzurufen und in den Feldern „An“ und „Von“ der Tabelle „imap_emails“ nach ihnen zu suchen.
Lösung mit FIND_IN_SET:
Eine effiziente Möglichkeit, eine solche Suche durchzuführen, ist die Verwendung der Funktion FIND_IN_SET. Diese Funktion gibt die Position einer angegebenen Zeichenfolge innerhalb einer durch Kommas getrennten Liste zurück. Durch die Kombination mit einem Join können Sie das gewünschte Ergebnis erzielen.
Beispielabfrage:
SELECT * FROM imap_emails INNER JOIN customers ON FIND_IN_SET(customers.email, imap_emails.to) > 0
Diese Abfrage führt einen inneren Join zwischen „imap_emails“ und durch „customers“-Tabellen basierend auf der Bedingung, dass die E-Mail-Adresse des Kunden im „to“-Feld der „imap_emails“-Tabelle vorhanden ist (wie durch bestimmt). FIND_IN_SET).
Hinweise:
Das obige ist der detaillierte Inhalt vonWie kann man in MySQL effizient nach durch Kommas getrennten E-Mail-Adressen suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!