mysql复杂条件选择查询

7kqas0il  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(397)

我有一个表,我在那里存储的结果的团队。一个团队 id 可以是 homeTeam 或者 awayTeam . 我要检索最后5个匹配的 team 已经玩过了。
请看我的小提琴http://sqlfiddle.com/#!9/701305/1

如果你看到结果的话,我想在这里得到最后5场比赛的数据 team id 165 在第一排,165是一个 homeTeam 你可以看到 homeTeamPoint(3)>awayTeamPoint(0) 所以在这种情况下我想回来 W 同样的,如果球队输了,那么它应该赢 L 如果相同的点 D 所以我期待的结果有两种
输出: W,L,W,W,L 或者输出可以是多行。。
请帮帮我这对我来说太复杂了。
非常感谢。

gijlo24d

gijlo24d1#

您可以使用多个 CASE .. WHEN 从以下Angular 获取结果的语句 team_id = 65 .

SELECT 
  homeTeam, 
  awayTeam, 
  homeTeamPoint, 
  awayTeamPoint, 
  CASE 
    WHEN homeTeamPoint = awayTeamPoint 
      THEN 'D'
    WHEN `homeTeam` = 165 AND homeTeamPoint > awayTeamPoint 
      THEN 'W'
    WHEN `homeTeam` = 165 AND homeTeamPoint < awayTeamPoint 
      THEN 'L'
    WHEN `awayTeam` = 165 AND homeTeamPoint < awayTeamPoint 
      THEN 'W'
    WHEN `awayTeam` = 165 AND homeTeamPoint > awayTeamPoint 
      THEN 'L'
  END AS result   
FROM fixtureandresults 
WHERE (`homeTeam` = 165 OR awayTeam=165) 
  AND over = 1 
ORDER BY id DESC LIMIT 5

db小提琴演示

相关问题