gpt4 book ai didi

MYSQL left join (if id is in other table then 1 else 0)

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

我有一个表 EVENT_COMMENTS 和 EVENT_COMMENTS_LIKES,一切正常,除了我想检查我是否已经喜欢该评论。所以我对 likes 表进行左连接(有外键(comment_id 和 user_id)),如果 user_id 是我自己的 id,我想输出 = true。

但它根本不起作用。我的意思是我得到了所有 ID 的 l.User_ID 列表(我计算喜欢的数量)但我无法检查我的 ID 是否在其中。 54 在这种情况下是我的 id。

SELECT c.Comment_ID,c.Event_ID,c.User_ID,count(l.User_ID) as amount_likes,

(case l.User_ID when 54 THEN 'true' ELSE 'false' END) as is_liked

FROM EVENT_COMMENTS c
left join USERINFO u on u.USERID=c.User_ID
left join EVENT_COMMENTS_LIKES l on l.Comment_ID = c.Comment_ID
WHERE Event_ID=121514
GROUP BY c.Comment_ID
ORDER BY updated_time DESC

大胆的是棘手的。

这是错误:SELECT 列表的表达式 #10 不在 GROUP BY 子句中并且包含非聚合列“markusp.l.User_ID”,它在功能上不依赖于 GROUP BY 子句中的列;这与 sql_mode=only_full_group_by 不兼容

感谢您的帮助:)

最佳答案

尝试在 GROUP BY 中包含所有非聚合列。在您的示例中,它们将是:c.Comment_ID、c.Event_ID、c.User_ID

关于MYSQL left join (if id is in other table then 1 else 0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45110535/

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