Mysql 运行嵌套SQL查询以减去后一个SELECT查询的结果

Mysql 运行嵌套SQL查询以减去后一个SELECT查询的结果,mysql,sql,subquery,nested-queries,Mysql,Sql,Subquery,Nested Queries,我有一个查询,我正试图修改它,使其基本上包含另一个基本的SELECT查询,并减去该值 例如,我的查询当前如下所示: SELECT (SELECT COALESCE(SUM(x.points),0) - (SELECT SUM(price) FROM purchases WHERE user_id = '. $user_id .') FROM codes x WHERE x.user_id=5701960905 AND x.points > 0 AND x.inactiv

我有一个查询,我正试图修改它,使其基本上包含另一个基本的SELECT查询,并减去该值

例如,我的查询当前如下所示:

 SELECT 
(SELECT COALESCE(SUM(x.points),0) - (SELECT SUM(price) FROM purchases WHERE user_id = '. $user_id .')
  FROM codes x 
  WHERE x.user_id=5701960905 AND x.points > 0 
  AND x.inactive = 0 AND (x.date_redeemed >= 1252627200 
  OR x.date_redeemed = 0)) as totalPointsSum 
  FROM `codes` `t` 
  WHERE t.inactive = 0 AND (t.date_redeemed >= 1252627200 OR t.date_redeemed = 0) 
  LIMIT 1;

 // This will return an integer value e.g '51'
我基本上只要求它返回0或更大的值,例如,如果返回的结果是负值,我需要将返回值默认为0,而不是-31

如有任何建议,请使用

SELECT MAX(result, 0)

这似乎适用于我:-如果为NULL(值,默认值)


IFNULL(SUM(price),0)

MAX()函数返回所选列的最大值-good call tho..我的意思是。。。如果你有一个结果,称它为n,如果n为正,你想变成n,如果n为负,你想变成0,那么这是一个解