Php 使用IF语句的MYSQL查询

Php 使用IF语句的MYSQL查询,php,mysql,sql,Php,Mysql,Sql,有一点小麻烦,我如何修改这个mysql查询,以便如果member_results表中有行,它将运行下面的查询,但是如果没有行,那么基本上运行下面的查询,而不使用SUMS()和与member_results表的联接。我猜这可以通过mysql中的IF语句实现,但我真的不知道如何使用下面的查询实现 非常感谢您的帮助 $result = mysql_query(" SELECT m.member_id, m.teamname, Sum(Case When r.track_id = '$chosen

有一点小麻烦,我如何修改这个mysql查询,以便如果member_results表中有行,它将运行下面的查询,但是如果没有行,那么基本上运行下面的查询,而不使用SUMS()和与member_results表的联接。我猜这可以通过mysql中的IF语句实现,但我真的不知道如何使用下面的查询实现

非常感谢您的帮助

$result = mysql_query(" SELECT m.member_id, m.teamname, 
  Sum(Case When r.track_id = '$chosentrack' -1 AND r.track_id >= l.start_race 
  Then total_points Else 0 End) LastRacePoints,
  Sum(Case When r.track_id <= '$chosentrack' -1 AND r.track_id >= l.start_race
  Then total_points Else 0 End) TotalPoints 
FROM members m
  Join members_leagues l
  On l.member_id = m.member_id  
  Join member_results r
  On r.member_id = m.member_id
Where l.league_id = '$chosenleague'
  Group By m.member_id
  Order By TotalPoints Desc, LastRacePoints DESC, m.teamname Desc ") 
or die ("Error - could not display league");
$result=mysql\u query(“选择m.member\u id,m.teamname,
总和(当r.track\u id='$chosentrack'-1和r.track\u id>=l.start\u比赛时的情况)
然后是总积分(其他0个终点)最后一个赛点,
总和(r.track\u id=l.start\u race时的情况)
然后是总分(其他0个结束)总分
m成员
加入联盟成员
在l.member\u id=m.member\u id上
加入成员\u结果r
在r.member\u id=m.member\u id上
其中l.league_id=“$chosenleague”
按m.member\u id分组
按TotalPoints Desc、LastRacePoints Desc、m.teamname Desc排序)
或死亡(“错误-无法显示联盟”);

只需将
加入成员\u结果r
替换为
左加入成员\u结果r
,它就可以工作了。如果没有结果,您应该为总和获取空值。

只需将
连接成员\u结果r
替换为
左连接成员\u结果r
,它就可以工作了。如果没有结果,那么求和应该为空