这可能很简单,但我对sql并不熟悉。
我有一个包含两个user_id列的表,user1和user2。此表包含两个用户之间的一些比较值。
我想发送一个用户ID,当发送的用户是user1或user2时,返回其他用户的所有id。
我想某些if测试可以解决问题,但我不知道如何在SQL中执行此操作。
干杯
答案 0 :(得分:3)
你可以这样做:
SELECT user1 FROM TAB WHERE user2=id
UNION ALL
SELECT user2 FROM TAB WHERE user1=id
答案 1 :(得分:1)
codaddict的解决方案可行,但我会选择以下内容:
select if(user1 = userparam, user2, user1) as user
from table
where user1 = userparam or user2 = userparam
编辑:用if函数替换案例。
答案 2 :(得分:0)
一种方法是:
SELECT IF(user1 = ID, user2, user1) AS other_user FROM table WHERE user1 = ID OR user2 = ID