我在Microsoft的SQL Server Management Server 2007中导入了两个Excel工作表作为表,它们都是相同的,除了它们来自两个不同的日期。
我希望做两件我努力做的事情:
cast
和内连接,但是我没有成功使用这些值来将这些值与这样的嵌套大小写相加:
SELECT SUM(
CASE WHEN ID <>'MISSING' THEN
CASE WHEN SUM(VALUE)>=0 THEN
SUM(VALUE)
ELSE
0
END
END)
我尝试了很多不同的方法,但我得到的一个主要错误是:
无法对包含聚合或子查询的表达式执行聚合函数。
数据如下:
dbo.Table1
date(dd/mm/yy) | name | id | value
---------------+------+---------+-------
1/1/14 | A | MISSING | 56
1/1/14 | A | MISSING | -1
1/1/14 | B | YES | 56
1/1/14 | B | YES | -1
dbo.Table2
date(dd/mm/yy) | name | id | value
---------------+------+---------+-------
1/2/14 | A | MISSING | 24
1/2/14 | A | MISSING | -11
1/2/14 | B | YES | 24
1/2/14 | B | YES | -11
答案 0 :(得分:0)
请勿在{{1}}内使用SUM
,只保留外SUM
。您的外部SUM
也没有CASE
部分,但您可能也希望在该方案中也有0,那么为什么不使用单个ELSE
条件?
CASE