我是SQL的新手,需要一些帮助。我正在尝试使用变量作为列标题,并迭代总和到某个可变范围内。以下是代码。
DECLARE @startmonth AS INT
DECLARE @endmonth AS INT
DECLARE @earnedpremiumyear AS INT
SET @startmonth = 200501
SET @endmonth = 200512
SET @earnedpremiumyear = 2005
WHILE @startmonth <= 201301
BEGIN
SELECT SUM(earnedpremium) AS @earnedpremiumyear
FROM dbo.Database
WHERE accountingmonth BETWEEN @startmonth AND @endmonth
AND earnedendingmonth BETWEEN @startmonth AND @endmonth
SET @startmonth = @startmonth + 100
SET @endmonth = @endmonth + 100
SET @earnedpremiumyear = @earnedpremiumyear + 1
END
我希望SUM的标题是从2005年开始到2013年的已赚保费年份。当我运行这段代码时,我会得到以下错误信息:“Incorrect syntax near '@earnedpremiumyear'”,所以我肯定调用变量的方式有误。有人能帮忙吗?
另外,如何使总和不是为每个年份创建一个表格,而是在一个表格的一列或一行中呈现?
谢谢!