繁体   English   中英

连接查询问题

[英]problem with join query

我正在尝试选择数据库中帖子所附带的所有标签,但是由于某种原因,每篇带有标签的帖子都只能得到一个标签。

这是我正在使用的查询:

SELECT p.post_id, p.post_title, t.tag_id, t.tag_name
FROM posts p
LEFT JOIN posts_tags pt ON pt.post_id = p.post_id
LEFT JOIN tags t ON pt.tag_id = t.tag_id

有任何想法吗?

每个帖子可以有很多标签。 我建议使用MySQL的GROUP_CONCAT()并将所有标签放入一个字段。 然后,您可以根据需要在脚本中解析该字段。

编辑似乎您在标签表上没有连接,因此仅返回标签的该行。 尝试在ON子句中切换表,以使其与另一个方向结合。 然后,您需要遍历结果(现在每个标签应该有一行)。我原来的解决方案将所有标签分组到一个字段中。

那应该工作正常。 事实上,因为它靠近我创建了一个SO数据结构使用data.stackexchange.com并能正常工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM