在查询结果中组合主信息和详细信息

时间:2009-12-30 14:34:07

标签: database openoffice.org

使用openoffice.org Base 3.1.1

鉴于下面的数据库有三个表,我想用以下输出创建一个查询。如何通过查询或视图实现这一目标?

输出

book.title, tags
title 1, tagdescription1 tagdescription2 tagdescription3
title 2, tagdescription2

数据库

BOOK
id - primary key,title
1, title 1
2, title 2

TAG
id - primary key,name
tag1, tagdescription1
tag2, tagdescription2
tag3, tagdescription3

BOOK_TAG
book_id,tag_id
1,tag1
1,tag2
1,tag3
2,tag2

1 个答案:

答案 0 :(得分:1)

我的第一个想法是,由于您拥有动态数量的列,因此您无法真正获得格式化的查询。我会加入表格,然后使用连接复制每个标签的标题。

SELECT book.title, tag.name FROM book LEFT JOIN book_tag ON book_tag.book_id = book.id LEFT JOIN tag ON tag.id = book_tag.tag_id

哪个应该给你一个结果集,

book.title     tag.name
title 1        tagname1
title 1        tagname2
title 1        tagname3
title 2        tagname2

我确信有人有更好的方法:)