我使用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