Я пытался добавить сумму общей стоимости из разных таблиц. Успешно с этим запросом, но я хочу добавить текущую дату.
Таблица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
Пожалуйста, помогите мне кого-нибудь, Чтобы решить эту проблему заранее.
Ваш запрос должен учитывать возможность того, что ни один из операторов 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, но надеюсь, что это поможет.
Других решений пока нет …