declare @sql varchar(8000)
set @sql='' --初始化变量@sql
select @sql=@sql+','+课程 from tb group by 课程 --变量多值赋值
set @sql=stuff(@sql,1,1,'')--去掉首个','
set @sql='select * from tb pivot (max(分数) for 课程 in ('+@sql+'))a'
print (@sql)
請問 select @sql=@sql+','+kc from tb group by kc中
爲什麽不加入@sql就是單值賦值,請哥哥姐姐幫忙解釋一下
爲什麽不加入第二个@sql就是單值賦值,請哥哥姐姐幫忙解釋一下
set @sql='' --初始化变量@sql
select @sql=@sql+','+课程 from tb group by 课程 --变量多值赋值
set @sql=stuff(@sql,1,1,'')--去掉首个','
set @sql='select * from tb pivot (max(分数) for 课程 in ('+@sql+'))a'
print (@sql) @sql是变量 每次都去掉',' 其实是一个递归的过程
爲什麽不加入@sql就是單值賦值,請哥哥姐姐幫忙解釋一下这和下面的代码是一个道理:
int sum=0;
for(int i=0;i<10;i++)
{
sum=sum+i;
}