Сложение двух значений таблицы с текущей датой (сегодняшняя дата)

Я пытался добавить сумму общей стоимости из разных таблиц. Успешно с этим запросом, но я хочу добавить текущую дату.

Таблица1 Таблица2
Дата Total_Cost Дата Total_Cost
21/01/2015 500 21/01/2015 500

SELECT (SELECT SUM(Total_Cost) FROM Table1) + (SELECT SUM(Total_Cost) FROM Table2) as total

Дай правильный ответ: 1000

Но я запускаю это дополнение запроса с текущей датой.

SELECT (SELECT SUM(Total_Cost) FROM Table1 WHERE DATE =  CURDATE()) + (SELECT SUM(Total_Cost) FROM Table2 WHERE DATE =  CURDATE()) as total

Это дает значение: NULL

Пожалуйста, помогите мне кого-нибудь, Чтобы решить эту проблему заранее.

1

Решение

Ваш запрос должен учитывать возможность того, что ни один из операторов select не может быть возвращен ни одной строкой (т. Е. Значением NULL) с использованием ISNULL, например:

ISNULL(SELECT SUM(X) FROM Table1 WHERE Date=CURDATE(),0.0)

или даже:

SELECT ISNULL(SUM(Total_Cost),0.0) FROM
(
SELECT Total_Cost FROM Table1 WHERE Date = CURDATE()
UNION ALL
SELECT Total_Cost FROM Table2 WHERE Date = CURDATE()
) S1

Извините, если это неверный синтаксис MySQL. Я более знаком с SQL Server, но надеюсь, что это поможет.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]