Ich arbeite mit PHP. Ich habe eine Tabelle mit dem Namen Bücher. In der Tabelle Bücher habe ich die book_name
mit dem Namen des Buches, book_publisher
mit der ID des Verlegers und book_author
mit der ID des Autors. Neben der Bücher-Tabelle habe ich die books_author
Tabelle mit den Namen und IDs der Autoren und books_publisher
mit den Büchern Herausgeber Namen und IDs.MySQL Query basierend auf 3 Tabellen
Ich gebe meine Benutzer 3 Eingabefelder, die den Namen des Autors, Buchname und Verleger Namen und eine Suchtaste darstellt. Sie können einen Autorennamen, einen Buchnamen und einen Verlagsnamen in derselben Suche eingeben und ich muss meine Datenbank abfragen und die Buchnamen mit dem Autorennamen LIKE (% ..%), eingegebenem Autorennamen, Buchnamen wie das eingegebene Buch zurückgeben Name und Herausgebername LIKE der eingegebene Herausgebername.
Das Problem ist, dass ich nur die ID des Autors und Publisher-ID in meiner Bücher-Tabelle gespeichert habe und ich muss nach allen drei Feldern suchen und Dubletten ausschließen (Bücher, die nach Namen und auch nach Herausgeber übereinstimmen).
Kann jemand mir helfen, diese Abfrage bauen?
+1 für die Volltextsuche Vorschlag – karim79
Noch besser ist die Indizierung der Textfelder mit Sphinx Search. Ich verstehe, es ist viel schneller als MySQL eingebaute Volltext-Indexierung, unterstützt Stemming, etc. –
Vielen Dank! –