添加两个表值与当前日期(今天的日期)
我试图从不同的表中添加总值的总和。这是查询成功但我想添加当前日期。添加两个表值与当前日期(今天的日期)
表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
请帮我有人来解决这个预先感谢您。
你的查询需要,以应付没有行可以由你选择语句返回(即空值)的可能性通过使用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,但我希望它有帮助,即使如此。
你将如何编辑我的sql查询 – 2015-01-21 09:34:49
但我想补充总和Total_Cost – 2015-01-21 09:38:26
查看第二个查询 – 2015-01-21 09:38:54
当你运行这个查询时你会得到什么? SELECT Total_Cost FROM Table1 WHERE DATE = CURDATE() or this SELECT Total_Cost FROM Table2 WHERE DATE = CURDATE() – 2015-01-21 09:24:54
您在table2中的日期的年份为'2105'而非'2015'! – 2015-01-21 09:26:22
它给今天的日期Total_Cost所有的价值,但我想两个表Total_Cost和它与当前日期的加法总和 – 2015-01-21 09:29:23