gpt4 book ai didi

mysql - 列出表中的元素,添加其他表中的引用并在 ORDER BY 中使用它们

转载 作者:行者123 更新时间:2023-11-29 08:44:42 28 4
gpt4 key购买 nike

表格:

帮助(重要的是 id 和 fecha 字段)

enter image description here

共享帮助(不同日期的其他用户引用的帮助)

enter image description here

所以,

来自用户 (user_id = 1) 的所有帮助

SELECT * FROM helps WHERE id_user = 1

来自用户及其引用的所有帮助

SELECT * FROM helps where id_user = 1 or id IN (SELECT helpid FROM shared_helps WHERE userid = 1)

我知道你们会发现这是一个非常丑陋的查询(我希望你们能给我带来启发),但它似乎显示了我想要的结果。问题是这种方式shared_helps.fecha被忽略,因此它在ORDER BY中没有任何效果,我该如何实现这一点?

最佳答案

SELECT
helps.*
FROM
helps
LEFT JOIN
shared_helps
ON shared_helps.helpid = helps.id
AND shared_helps.userid = 1
WHERE
helps.id_user = 1
OR shared_helps.userid = 1
ORDER BY
CASE WHEN helps.id_user = 1 THEN 0 ELSE 1 END,
shared_helps.fecha

编辑

根据您的评论,尝试这个...

ORDER BY
COALESCE(shared_helps.fecha, helps.fecha)

或者可能是这个...

ORDER BY
helps.fecha

老实说,我不能 100% 确定您需要什么。也许您可以包含一些示例数据以及您想要该示例数据的输出?

关于mysql - 列出表中的元素,添加其他表中的引用并在 ORDER BY 中使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12799926/

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