从表中确定获胜者

时间:2019-05-05 15:21:25

标签: sql postgresql

我需要根据表内信息确定赢家。结构看起来像这样:

Change

现在,我需要创建一个提供获胜球队的选择陈述/视图,因此,如果score_b> score_a,它应该显示team_b,否则显示team_a。

任何有关如何创建这样的Select语句的指针将不胜感激!另外,对这个不好的称呼感到抱歉,我真的不知道如何更好地描述它。

更新: 对于样品

Match:
match_id | team_ a | team_b | score_a | score_b

我希望查询返回类似

的内容
match_id | team_ a | team_b | score_a | score_b
1        | foo     | bar    | 2       | 1

2 个答案:

答案 0 :(得分:2)

您可以使用

select case when score_a > score_b then team_a 
            when score_a < score_b then team_b 
            else '===='
        end  winner 
from my_table  

答案 1 :(得分:1)

如果不能平局,那就是这样的:

SELECT
    match_id,
    CASE WHEN score_a > score_b 
        THEN team_a
        ELSE team_b
    END as Winner
FROM Match