我想使用大小写从表聊天中获取价值,
SELECT user_one, user_two
FROM chatting, users
WHERE
CASE
WHEN user_one = 36
THEN user_two = 55
WHEN user_two = 55
THEN user_one = 36
END
但是在“ THEN user_two = 55”之后出现此错误 错误是“'='附近的语法不正确。”
答案 0 :(得分:5)
不可能使逻辑表达式成为CASE
表达式的谓词。也就是说,THEN
和ELSE
之后的必须是文字值。但是,我们可以将您的逻辑重写为:
SELECT
user_one,
user_two
FROM chatting c
INNER JOIN users u
-- ON <some condition>
WHERE
(user_one = 36 AND user_two = 55) OR (user_one = 55 AND user_two = 36);
根据您的SQL版本,我们也许可以使用元组编写WHERE
子句,如下所示:
WHERE
(user_one, user_two) IN ((36, 55), (55, 36));
答案 1 :(得分:0)
您只需要
where (user_one =36 and user_two = 55)