gpt4 book ai didi

mysql - 如何扫描MySQL中的多个项目?

转载 作者:行者123 更新时间:2023-11-29 07:30:56 25 4
gpt4 key购买 nike

我想从元素表中选择所有元素,但有一个额外的列,说明它们的任何评论是否具有管理员状态。如果发布状态的用户的管理列为 1,则评论具有管理员状态。

我不知道如何扫描每个评论以查找正在查询的每个元素。

在程序的另一部分,有一个查询来绘制单个问题的所有评论,我能够推理如何确定那里的管理员状态,但我想不出一种方法来做到这一点一个查询可以解决多个问题。

SELECT comments.id, comments.elementID, comments.googleID, comments.time, comments.body, users.name, users.admin
FROM comments
LEFT JOIN users ON comments.googleID = users.googleID
WHERE comments.elementID = ? AND comments.approved = 1
ORDER BY comments.time DESC

enter image description here enter image description here enter image description here

最佳答案

要知道哪些元素有管理员用户的评论,您只需执行以下操作:

SELECT C.elementID, MAX(U.admin) AS admin
FROM comments C
LEFT JOIN users U ON C.googleId = U.googleID
WHERE C.approved = 1
GROUP BY C.elementID;

然后获取具有附加管理列的所有元素:

SELECT E.*, CASE WHEN A.admin = 1 THEN 1 ELSE 0 END AS admin
FROM elements E
LEFT OUTER JOIN
(SELECT C.elementID, MAX(U.admin) AS admin
FROM comments C
LEFT JOIN users U ON C.googleId = U.googleID
WHERE C.approved = 1
GROUP BY C.elementID) A
ON E.id = A.elementID

关于mysql - 如何扫描MySQL中的多个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32682971/

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