php - MYSQL 使用 IF 语句进行查询

标签 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 = '$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");

最佳答案

只需将 Join member_results r 替换为 Left Join member_results r 即可。如果没有结果,则总和应该为 NULL。

关于php - MYSQL 使用 IF 语句进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7669064/

相关文章:

php - 显示不同的语句,取决于价格变量是否为空

php - 使用基于id的join子句从两个表中获取

sql - 选择 SQL 表中重复记录的最大数量

php - 如何捕获 PHP 致命 (`E_ERROR` ) 错误?

php - 预加载 : Use `with` on pivot with eloquent relationship

javascript - 如何将我的 Bootstrap 按钮链接到从客户端接收数据的 php 代码

java - Hibernate 2 主键作为外键

PHP 防止 session 黑客攻击

mysql - SQL 将具有相同值的行删除到新表中

mysql - 遇到错误 #1060 - 列 'forum_enabled' 重复