Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie führe ich eine Stichwortsuche über mehrere Tabellen in MySQL durch und identifiziere die Ursprungstabelle?

Linda Hamilton
Freigeben: 2024-11-23 12:32:16
Original
852 Leute haben es durchsucht

How to Perform a Keyword Search Across Multiple Tables in MySQL and Identify the Table of Origin?

Mehrere Tabellensuche in MySQL mit einem Schlüsselwort

Frage:

In einer Datenbank mit drei Tabellen (Nachrichten, Themen und Kommentare), die jeweils die Felder „Inhalt“ und „Titel“ enthalten. Wie können wir mit a eine LIKE-Suche über alle Tabellen hinweg durchführen? Stichwort? Wie unterscheiden wir die Ursprungstabelle für jedes Ergebnis?

Lösung:

Um mehrere Tabellen mit einem Schlüsselwort in PHP und MySQL zu durchsuchen, können wir eine UNION-Abfrage verwenden :

$query = "(SELECT content, title, 'msg' as type FROM messages WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%') 
UNION
(SELECT content, title, 'topic' as type FROM topics WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%') 
UNION
(SELECT content, title, 'comment' as type FROM comments WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%')";

mysql_query($query);
Nach dem Login kopieren

Diese Abfrage vereint die Ergebnisse aus jeder Tabelle in einer einzigen Ausgabe. Das zu jeder Zeile hinzugefügte Feld „Typ“ dient als Kennung für die Tabelle, aus der sie stammt. Nachdem wir diese Abfrage ausgeführt haben, können wir die Ergebnisse durchlaufen und die Ursprungstabelle basierend auf dem „Typ“-Wert bestimmen.

Das obige ist der detaillierte Inhalt vonWie führe ich eine Stichwortsuche über mehrere Tabellen in MySQL durch und identifiziere die Ursprungstabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage