sql select查询一个表中的一行和另一个表中的多行

时间:2011-10-02 21:34:40

标签: mysql

我有像post,tag和post_tag这样的表..每个帖子都有一些标签..我想得到像

这样的数据

使用tagA,tagB,tagC发布1 使用tagB,tagD发布2 。 ..

使用tagZ

发布N.

如何正确的sql语句?

post:id(int),title(varchar),text(varchar) tag:id(int),title(varchar) post_tag:id(int),post_id(int),tag_id(int) - > post表上的post_id外键和tag表上的tag_id外键。

例如,我想要获取标签标题的所有帖子。

1“post1”“somepost bla bla”“tag1 title”“tag2 title” 。 ..

2 个答案:

答案 0 :(得分:0)

尝试使用group_concat列出单个字段中给定帖子的所有标记。见http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html

答案 1 :(得分:0)

您可以先创建按帖子分组的标签视图,然后您可以使用查询来获得所需的结果。如果您实际发布表格及其属性的详细信息,则可以给出更具体的答案