下面是灯具表,其中显示了与之对战的比赛(这里的数字是指团队ID)。
team_1 | team_2
----+--------+--------
2 | 3
4 | 5
1 | 2
4 | 3
1 | 4
2 | 5
我需要获取针对第2队的比赛,这应该是1,5,3是否有任何方式查询可以帮助组合team_1和team_2并返回1,5,3。我试过了
select * from fixtures where team_1 = 2 or team_2 = 2;
以上我可以得到下面显示的2对比(I),但我需要单列中的1,5,3,如(II)所示
(I) | team_1 | team_2
+--------+--------
| 2 | 3
| 1 | 2
| 2 | 5
(II) teams
-----
3
1
5
是否可以使用sql查询?
答案 0 :(得分:2)
许多方法中的一种方法是使用case
语句返回不属于团队= 2的列:
select case when team_1 = 2 then team_2 else team_1 end as opposing_team
from fixtures where team_1 = 2 or team_2 = 2;
这将返回:
opposing_team
3
1
5
答案 1 :(得分:1)
试试这个。案件陈述可以做到这一点
select Case when team_1 = 2 then team_2 ELSE team_1 END
from fixtures where 2 in (team_2,team_1)