我使用PHP工作。我有一張名爲書籍的表格。在表格簿中,我有book_name
這本書的名字,book_publisher
與發行者的ID和book_author
與作者的ID。除書籍表外,我還有books_author
表,其中包含作者姓名和ID,books_publisher
包含書籍出版商名稱和ID。基於3個表的MySQL查詢
我給我的用戶3個輸入字段,代表作者姓名,書名和出版商名稱以及搜索按鈕。他們可以在同一個搜索中輸入作者姓名,圖書名稱和出版商名稱,我必須查詢我的數據庫並返回具有作者姓名LIKE(%..%)的書籍名稱輸入的作者姓名,書名LIKE輸入的書籍名稱和發佈者名稱LIKE輸入的發佈者名稱。
問題是,我在書籍表中只存儲了作者的ID和發佈者ID,我需要按這三個字段進行搜索並排除重複項(名稱和發佈者匹配的書籍)。
任何人都可以幫我建立這個查詢嗎?
+1全文搜索建議 – karim79 2009-08-09 15:05:24
更好的是用Sphinx搜索索引文本字段。我知道它比MySQL內置的全文索引快得多,支持詞幹等。 – 2009-08-09 15:59:44
非常感謝! – 2009-08-09 17:53:23