加入四个表并连接一个结果--MySQL

时间:2013-10-08 17:57:03

标签: mysql sql group-concat

我有以下表格:

+--------+    +-------+    +----------+    +-------+
| blogs  |    | users |    | blogtags |    | tags  |
+--------+    +-------+    +----------+    +-------+
| bid    |    | uid   |    | bid      |    | tid   |
| uid    |    | name  |    | tid      |    | tag   |
| title  |    +-------+    +----------+    +-------+
+--------+

不幸的是,我有一个限制,我的MySQL服务器与我的Web服务器是分开的。 因此,我想尽量减少数据库调用。

我想得到这样的结果:

  

出价|标题| users.name | tag1 tag2 tag3 |

将标签连接成一个字符串。

我猜第一个问题 - 这是否可能。 那些SO社区能否就如何做到这一点给我一些指导。

我一整天都在工作,我的大脑正在旋转,甚至试图解决这个问题。我知道我将需要一些连接,一个组合并且可能是一个子查询但却迷失了思考它。 提前致谢

1 个答案:

答案 0 :(得分:1)

select bid, title, users.name, group_concat(tags.tag)
from blogs inner join users on blogs.uid=users.uid
inner join blogtags on blogs.bid=blogtags.bid
inner join tags on tabs.tif=blogtags.bid
group by bid, title, users.name