sql中select返回变量的问题
当返回多个值时,select是返回最后一个。那如果要全部返回应该怎么写。例如一个table1表,id值是1,2,3,4declare@countintselect@cou...
当返回多个值时,select是返回最后一个。那如果要全部返回应该怎么写。
例如一个table1表,id值是1,2,3,4
declare @count int
select @count=id from table1
print @count 得到的4。我要得到1,2,3,4 展开
例如一个table1表,id值是1,2,3,4
declare @count int
select @count=id from table1
print @count 得到的4。我要得到1,2,3,4 展开
3个回答
展开全部
使用游标遍历,一个一个去取。
下面的例子希望可以帮到你。
declare cursor1 cursor for --定义游标cursor1
select * from table1 --使用游标的对象(跟据需要填入select文)
open cursor1 --打开游标
fetch next from cursor1 into @id--将游标向下移1行,获取的数据放入之前定义的变量@id中
while @@fetch_status=0 --判断是否成功获取数据
begin
print @count --进行相应处理(跟据需要填入SQL文)
fetch next from cursor1 into @id--将游标向下移1行
end
close cursor1 --关闭游标
deallocate cursor1
下面的例子希望可以帮到你。
declare cursor1 cursor for --定义游标cursor1
select * from table1 --使用游标的对象(跟据需要填入select文)
open cursor1 --打开游标
fetch next from cursor1 into @id--将游标向下移1行,获取的数据放入之前定义的变量@id中
while @@fetch_status=0 --判断是否成功获取数据
begin
print @count --进行相应处理(跟据需要填入SQL文)
fetch next from cursor1 into @id--将游标向下移1行
end
close cursor1 --关闭游标
deallocate cursor1
展开全部
declare @count varchar
set @count=''
select @count=@count+id+',' from table1
print @count
@count=@count+id
语法上通不过就convert 把ID转成字符类型
set @count=''
select @count=@count+id+',' from table1
print @count
@count=@count+id
语法上通不过就convert 把ID转成字符类型
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先@count int是不行的因为1,2,3,4肯定不是int 型;
declare @count varchar(100);
select @count=@count+','+convert(varchar(10),id) from table1;
@count=stuff(@count,1,1,'');
print @count;
declare @count varchar(100);
select @count=@count+','+convert(varchar(10),id) from table1;
@count=stuff(@count,1,1,'');
print @count;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询