gpt4 book ai didi

sql - ORDER BY 查询中的 IFELSE 语句

转载 作者:行者123 更新时间:2023-11-29 04:13:12 42 4
gpt4 key购买 nike

我对 IF ELSE 语句在查询中的工作方式有点困惑。

这是我一直在尝试的方法,加上它的变体,但我似乎无法让它在没有错误的情况下返回结果......

$get_trash = mysql_query("SELECT *
FROM message
WHERE message_to_user_id = '$user_id'
AND message_to_user_id_hide = 1
OR message_from_user_id = '$user_id'
AND message_from_user_id_hide = 1
IF message_to_user_id = '$user_id'
THEN ORDER BY message_to_user_id_hide_time DESC
ELSEIF
message_from_user_id = '$user_id'
THEN ORDER BY message_from_user_id_hide_time DESC
ENDIF") or die(mysql_error());

现在我已经在 PHP 中无数次使用 if else 语句,但我从来没有在 mysql 查询中使用过它,所以如果有人能阐明你是如何处理它的,那么我将非常感激!

最佳答案

如果您能说出您的 table 是什么样子,那将会有所帮助。但是,根据您尝试过的 SQL,我认为您正在寻找的是这些方面的内容:

 SELECT * FROM message WHERE
(message_to_user_id = '$user_id' AND message_to_user_id_hide = 1) OR
(message_from_user_id = '$user_id' AND message_from_user_id_hide = 1)
ORDER BY
(CASE
WHEN message_to_user_id = '$user_id'
THEN message_to_user_id_hide_time
ELSE message_from_user_id_hide_time
END) DESC

关于sql - ORDER BY 查询中的 IFELSE 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4776315/

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