假设以下可能的模型:
模型1:
TABLE: book
- book_id
- name
TABLE: book_author
- book_author_id
- book_id
- author_id
TABLE: author
- author_id
- name
(一本书可以有0位或更多位作者)
模型2:
TABLE: book
- book_id
- name
TABLE: book_eav
- book_eav_id
- book_id
- attribute (e.g. "author")
- value (e.g. "Tom Clancy")
(一本书可以有0个或更多作者+关于出版商,页数等的信息)
如何通过这样的方式查询,以便我返回book.book_id
,book.name
+ authors
字段,其中包含与该书相关联的0个或更多值?
我正在尝试这样做,因此我可以将查询结果用作Lucene索引中的文档。
答案 0 :(得分:1)
查看GROUP_CONCAT函数。
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html
答案 1 :(得分:0)
Lucene支持多个具有相同名称的字段,这意味着您可以在同一文档中实际存储名为“作者”的多个字段。
我建议您实际执行此操作,并使用其他语句获取其他数据,例如:
一本书选择。 一个选择book_id和作者。