Laravel SUM из нескольких полей возвращает null с необработанным запросом

Следующим является мой запрос:

$sales = DB::table('sales') ->leftJoin('category_sales', 'category_sales.sale_id', '=', 'sales.id') ->leftJoin('department_sales', 'department_sales.sale_id', '=', 'sales.id') ->leftJoin('store_configs', 'store_configs.id', '=', 'sales.store_config_id') ->select('sales.date', DB::raw('store_configs.store_dba'), DB::raw('sales.id'), DB::raw('(sales.taxable + sales.non_taxable + category_sales.amount + department_sales.amount) as total_sales'), DB::raw('0.0825*(sales.taxable + category_sales.amount + department_sales.amount) as total_tax')) ->groupBy('date')->orderBy('date', 'desc') ->get(); 

Я получаю правильное значение, когда у меня есть значения в таблице category_sales and department_sales . Допустим, у меня нет amount value for the sales_id in category_sales таблице amount value for the sales_id in category_sales , конечный результат для total_sales и total_tax равен null.

Мой вопрос: как бы я все еще суммировать значения полей, если данные присутствуют?

 taxable, non_taxable, and amount' 

в category_sales and department_sales являются целыми, а defaults по defaults равны 0

Моя таблица структура только для идеи и похожа на department_sales:

 CREATE TABLE `category_sales` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `amount` int(11) NOT NULL DEFAULT '0', `category_id` int(10) unsigned DEFAULT NULL, `sale_id` int(10) unsigned DEFAULT NULL, PRIMARY KEY (`id`), KEY `category_sales_category_id_index` (`category_id`), KEY `category_sales_sale_id_index` (`sale_id`), CONSTRAINT `category_sales_category_id_foreign` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`) ON DELETE CASCADE, CONSTRAINT `category_sales_sale_id_foreign` FOREIGN KEY (`sale_id`) REFERENCES `sales` (`id`) ON DELETE CASCADE) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;