此查询返回以下结果。
Select BookTitle,TotalNumberInStock
From CurrentStock
Where (Year<2000 OR Year >2010);
表1
BookTitle TotalNumberInStock
The Tower 2
Orange Goblins 1
The future of Metal 3
Chronicles of the Banjo 2
Opera 4
Advanced SQL 5
The GAA 4
我想写一个子总计,它总计了库存中的TotalNumber,所以我使用了这个陈述:
Select Sum(TotalNumberInstock)
From
(
Select BookTitle,TotalNumberInStock
From CurrentStock
Where (Year<2000 OR Year >2010)
);
我收到错误说:
&#39 ;;&#39;附近的语法不正确。
此代码有什么问题?
答案 0 :(得分:1)
您需要为子查询(也称为派生表)提供别名
select Sum(TotalNumberInstock)
From (Select BookTitle,TotalNumberInStock From CurrentStock
Where (Year<2000 OR Year >2010)) x ;
此更正使您的查询有效,但您不需要这样的复杂性来获得所需的结果。你可以通过这个查询得到你想要的东西
select sum(totalNumberInStock)
from CurrentStock
where year < 2000 or year > 2010
答案 1 :(得分:0)
我不确定你为什么需要子查询。
select sum(totalNumberInStock)
from CurrentStock
where year < 2000 or year > 2010
答案 2 :(得分:0)
这应该可以解决问题:
Select BookTitle,SUM(TotalNumberInStock)
From CurrentStock
Where (Year < 2000 and YEAR > 2010)
GROUP BY BookTitle