Table invitation (Primary key: invitation_id)
---------------------------------------------
invitation_id send_user_id receive_user_id
---------------------------------------------
1 2 1
2 3 2
3 2 7
4 9 2
---------------------------------------------
如果 send_user_id 值为 2 ,那么我需要 receive_user_id ,如果 receive_user_id 为2,那么我需要获取 send_user_id
如何获得这个?
答案 0 :(得分:1)
使用CASE
表达式:
SELECT invitation_id,
CASE WHEN send_user_id = 2 THEN receive_user_id
WHEN receive_user_id = 2 THEN send_user_id
ELSE -1 END AS output
FROM invitation
请注意,如果两个条件都不成立,我将返回-1
,但如果您提供,我们可以轻松地将其替换为其他逻辑。
答案 1 :(得分:0)
如果您有多个条件需要检查,请尝试使用嵌套的if else
if // your condition
begin
//enter you code
end
else if //2nd condition
begin
// your code
end
else //default condition if none of the above execute
begin
//default code
end
答案 2 :(得分:0)
SELECT invitation_id,
CASE
WHEN receive_user_id = 2 THEN send_user_id
WHEN send_user_id = 2 THEN receive_user_id
END AS output
FROM INVITATION.
可能会给出正确答案。 正确格式化代码。