如果查询返回空集,如何获得0

时间:2014-07-18 06:21:57

标签: mysql

我的sql查询返回一个空结果,然后将值存储在变量中。但是因为它返回空结果,所以没有存储。

  SET @sum_valb= (select IFNULL(SUM(review_trans.rating_given),0) as sum
        from `review_trans` where  `review_trans`.`business_id`=businessid  and    
  `review_trans`.`user_badge_id`=@badgeBasic
        GROUP BY `review_trans`.`user_badge_id`);

我希望当结果给出空结果时,零值应存储在@sum_valb中。 我尝试了IFNULL,但它只给出了一个空集。 请指教和帮助

1 个答案:

答案 0 :(得分:0)

SET @sum_valb = IFNULL((
    SELECT SUM(review_trans.rating_given)
    FROM `review_trans` 
    WHERE `review_trans`.`business_id`=businessid  
      AND `review_trans`.`user_badge_id`=@badgeBasic
), 0)