gpt4 book ai didi

mysql - 我怎样才能加入这两个查询?

转载 作者:行者123 更新时间:2023-11-29 05:46:23 26 4
gpt4 key购买 nike

这是我想要完成的:从表“posts”中选择所有行,同时还获取链接的实体,例如作者(来自表“users”)和帖子所属类别的名称(来自表“categories”)。

到目前为止,这是我的两个查询:
这个获取帖子:

SELECT<br/>
posts.*<br/>
, users.authorName AS author<br/>
FROM posts<br/>
INNER JOIN users<br/>
ON users.id = posts.author

这个获取特定帖子的逗号分隔类别列表:

SELECT<br/>
GROUP_CONCAT(categories.category) AS categories<br/>
FROM categories<br/>
INNER JOIN post_category<br/>
ON post_category.categoryID = categories.id<br/>
WHERE<br/>
post_category.postID = ?

这两个查询本身工作正常。

自然地,当两者结合时,我不需要第二个查询的 WHERE 子句。我尝试将第二个查询用作第一个查询的 SELECT 子句中的子查询,但它获取了所有帖子的所有类别的逗号分隔列表。我只想要我当前正在迭代的帖子的类别。

任何帮助将不胜感激,如果有任何不清楚的地方,我深表歉意 - 这对我来说已经够难的了,更不用说向其他人描述了;)

最佳答案

像这样:

SELECT posts.*, users.authorName AS author,
GROUP_CONCAT(categories.category) AS categories
FROM posts, users, categories, post_category
WHERE users.id = posts.author
AND post_category.categoryID = categories.id
AND post_category.postID = posts.id
GROUP BY posts.* /* list actual columns here */, author

还是我错过了什么?

关于mysql - 我怎样才能加入这两个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1349322/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com