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
展开
 我来答
II个人的寂寞
2010-11-24 · TA获得超过1115个赞
知道小有建树答主
回答量:423
采纳率:0%
帮助的人:456万
展开全部
使用游标遍历,一个一个去取。
下面的例子希望可以帮到你。

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
木森耙耙
推荐于2016-11-02 · TA获得超过436个赞
知道小有建树答主
回答量:907
采纳率:0%
帮助的人:566万
展开全部
declare @count varchar
set @count=''
select @count=@count+id+',' from table1
print @count

@count=@count+id
语法上通不过就convert 把ID转成字符类型
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jasen2002
2010-11-24
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
首先@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;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式