簡體   English   中英

如何在具有大於條件的 Select 語句的 mySQL 中使用 OR?

[英]How do I use OR in mySQL on a Select statement with a greater-than condition?

所以我基本上是在構建這個 mySQL 體育數據庫,並有一個表,其中有一個“Home_Team”和“Away_Team”,以及“Home_Score”和“Away_Score”。 我需要的是一個顯示獲勝球隊和得分的查詢。 因此,如果分數大於另一隊,則必須 select 一支隊; 反之亦然。 我嘗試了以下方法,在子查詢之間使用 OR 語句:

SELECT *
FROM match
WHERE (SELECT Home_Team FROM match WHERE Home_Score > Away_Score) 
OR (SELECT Away_Team FROM match WHERE Home_Score < Away_Score);

這不會運行,因為子查詢返回多行。 任何幫助深表感謝:)

每次必須有任何球隊獲勝或平局,因此您可以在SELECT子句本身中使用case表達式

SELECT case when Home_Score > Away_Score then Home_Team 
            when Home_Score < Away_Score then Away_Team
            else 'tie'
       end as winner_team,
       greatest(Home_Score ,Away_Score ) as winner_score
FROM match

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM