所以,我一直在研究一个循环来获取每天的数据回溯211天报告。 我收到此错误消息。我正在使用SQL Server 2008 R2,虽然我不知道 为什么我得到这个错误,我尝试了一些不起作用的不同的东西。所以我在这里要求非常感谢答案。
Msg 116,Level 16,State 1,Line 21
当未使用EXISTS引入子查询时,只能在选择列表中指定一个表达式。
我的代码
create table #ExcelPrint (row int IDENTITY (1, 1) NOT NULL, Col01 varchar(100),
Col02 varchar(100), Col03 varchar(100), Col04 varchar(100),Col05 varchar(100))
declare @counter int
set @counter = 0
insert into #excelprint (Col01,Col02,Col03) values ('Text','Number', 'Amount')
while @counter > -211
begin
insert into #ExcelPrint (Col01,Col02)
select (CONVERT(varchar,Dateadd(DD,@counter,GETDATE()),112)),
(
select TableA.ColA ,sum(colB)
from db.TableA as A
inner join db.TableB B on B.Col1 = A.Col1
inner join db.TableC C on C.Col1 = B.Col1
where amount = CONVERT(varchar,Dateadd(DD,@counter,GETDATE()),112)
and A.Col1 = 123
and B = 12
group by ColA.A
)
set @counter = @counter -1
end
select isnull(Col01,''), Replace(ISNULL(col02,''),'.',','),
Replace(ISNULL(col03,''),'.',',')
,Replace(ISNULL(Col04,''),'.',',') from #ExcelPrint
order by row
drop table #ExcelPrint
答案 0 :(得分:0)
更改
select (CONVERT(varchar,Dateadd(DD,@counter,GETDATE()),112)),
(
select TableA.ColA ,sum(colB)
from db.TableA as A
到
select CONVERT(varchar,Dateadd(DD,@counter,GETDATE()),112))
,TableA.ColA
,sum(colB)
from db.TableA as A ...
修复insert子句中的列数和相应列上的列...
答案 1 :(得分:0)
我不知道这是否是您查询的真实语法,但我对此有一些询问。
除了这些,它们的语法多于逻辑,它应该有用。