gpt4 book ai didi

php - 如何从两个不同的表中按两个不同的类别有条件地排序

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

我有 3 个表连接在一起。其中两个表(“posts”和“shared_posts”)有日期类别。我想按日期排序,但如果 shared_posts.username = $username 我希望它使用 shared_posts.date 而不是 posts.date。 (反之亦然)

我不知道该怎么做。这是我到目前为止所拥有的...

SELECT postid, posts.date, shared_posts.date, posts.username, posts.title
FROM posts
LEFT JOIN posts_views_likes USING (postid)
LEFT JOIN shared_posts USING (postid)
WHERE posts.username = '" . $username . "'
OR shared_posts.username = '" . $username . "'
ORDER BY posts.date DESC, shared_posts.date DESC

执行此操作的最有效方法是什么?

最佳答案

您可以使用 CASEORDER BY 子句中:

ORDER BY
CASE WHEN shared_posts.username = '" . $username ."'
THEN shared_posts.date
ELSE posts.date
END DESC

关于php - 如何从两个不同的表中按两个不同的类别有条件地排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31478226/

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