1) Пожалуйста, используйте соответствующий ЦИФРОВОЙ тип столбца для столбца sum_total_of_booking в таблице r.Если тип столбца sum_total_of_booking на самом деле числовой, просто перейдите к моей следующей точке:
2) «0» - это не число.Это строкаЗдесь вы пытаетесь суммировать все значения (приведение значения неопределенного столбца (иначе NULL) к строке '0', а затем пытаетесь преобразовать его как DECIMAL, что также вызывает внутреннюю попытку преобразования строки в число)
Вместо этого вам следует либо:
SELECT SUM(r.sum_total_of_booking)
WHERE r.sum_total_of_booking IS NOT NULL [AND <the rest of conditions>];
, либо
SELECT SUM(IF(r.sum_total_of_booking IS NULL, 0.00, r.sum_total_of_booking))
, но это не имеет никакого смысла, поскольку a выше
В любом случаевсегда старайтесь избегать несовпадения типов данных и определений столбцов, а также избегать приведения или автоматического преобразования (молча), когда числовое значение подается в виде строки в математическое уравнение или функцию агрегирования.