添加两个表值与当前日期(今天的日期)

添加两个表值与当前日期(今天的日期)

问题描述:

我试图从不同的表中添加总值的总和。这是查询成功但我想添加当前日期。添加两个表值与当前日期(今天的日期)

表1                        表2
日期      TOTAL_COST日期      TOTAL_COST
21/01/2015       21/01/2015

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

请帮我有人来解决这个预先感谢您。

+0

当你运行这个查询时你会得到什么? SELECT Total_Cost FROM Table1 WHERE DATE = CURDATE() or this SELECT Total_Cost FROM Table2 WHERE DATE = CURDATE() – 2015-01-21 09:24:54

+0

您在table2中的日期的年份为'2105'而非'2015'! – 2015-01-21 09:26:22

+0

它给今天的日期Total_Cost所有的价值,但我想两个表Total_Cost和它与当前日期的加法总和 – 2015-01-21 09:29:23

你的查询需要,以应付没有行可以由你选择语句返回(即空值)的可能性通过使用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

你将如何编辑我的sql查询 – 2015-01-21 09:34:49

+0

但我想补充总和Total_Cost – 2015-01-21 09:38:26

+0

查看第二个查询 – 2015-01-21 09:38:54