首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php中的内部连接

问php中的内部连接
EN

Stack Overflow用户
提问于 2011-01-06 14:23:00
回答 2查看 193关注 0票数 0
代码语言:javascript
复制
SELECT thread.id AS p_id, post.title, post.content, author.username, author.id AS a_id
                         FROM thread INNER JOIN author
                         ON author_id = author.id
                         ORDER BY thread.created DESC
                         LIMIT $start, 30

我有一个名为posts,posts_id和tags的表。

我如何扩展上面的SQL语句,使用内部连接( ...or )获得与每个帖子相关的所有标记?

EN

回答 2

Stack Overflow用户

发布于 2011-01-06 14:31:25

试试这个(假设包含标签信息的表是标签,并且有一个thread_id列):

代码语言:javascript
复制
SELECT thread.id AS p_id, 
             post.title, 
             post.content, 
             author.username, 
             author.id AS a_id,
             GROUP_CONCAT(DISTINCT tag_name ORDER BY tag_name DESC SEPARATOR ',') AS tags
 FROM thread INNER JOIN author
 ON author_id = author.id INNER JOING TAGS 
 ON thread.id = tags.thread_id
 GROUP BY thread.id
 ORDER BY thread.created DESC

 LIMIT $start, 30

编辑:将分组上移一行。

票数 2
EN

Stack Overflow用户

发布于 2011-01-06 14:28:18

SELECT thread.id AS p_id,post.title,post.content,author.username,author.id AS a_id FROM thread LEFT JOIN author ON author_id = author.id LEFT JOIN tags ON tags.thread_id = thread.id ORDER BY thread.created DESC LIMIT $start,30

Sanil

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4612353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档