mysql多表查询问题

我有三个表

// article
id  title
4   test
// tag
id name
1   tag1
2   tag2
3   tag3
// 第三方关联表 article_tag
id  tagId  articleId
1   1      4
2   2      4
3   3      4

article和tag是多对多的关系。现在要查article,希望通过第三方表把tagIds也都查出来。最后生成

articleId articleTitle tagIds
4         test         1,2,3

这样的sql该怎么写?

阅读 2.3k
3 个回答

Article::with('tags')->findAll()

group_concat可以,不过还是建议分两次查

select at.articleId,a.title,group_concat(at.tagId) as tagIds
from article_tag as at
left join article a on at.articleId=a.id
group by at.articleId

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题