急求一sql语句

liaoxiaohua1981 2006-05-31 11:48:08
求一sql语句
有下表:
学号 成绩
2001 98
2005 100
2006 180
2007 190
2009 200

我想实现成绩在90到200间的学号串在一起
效果如下:
号码
2001|2005|2006|2007|2009
...全文
144 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
liaoxiaohua1981 2006-05-31
  • 打赏
  • 举报
回复
declare @T table(学号 int,成绩 int)
insert into @t select 2001,98
union all select 2005,100
union all select 2006,180
union all select 2007,190
union all select 2009,200

declare @sql varchar(1000)
set @sql=''
select @sql=@sql+'|'+cast(学号 as varchar(100)) from @t where 成绩 between 90 and 200
select stuff(@sql,1,1,'')


xeqtr1982(HaN) ( )正解
xeqtr1982 2006-05-31
  • 打赏
  • 举报
回复
建测试数据就是慢 5555555555....
itblog 2006-05-31
  • 打赏
  • 举报
回复
不用建测试数据就是快~
paoluo 2006-05-31
  • 打赏
  • 举报
回复
暈,剛纔還沒有,現在這麼多。
paoluo 2006-05-31
  • 打赏
  • 举报
回复

Declare @S Varchar(1000)
Select @S=@S+'|'+学号 From TableName Where 成绩 Between 90 And 200
Select @S=Stuff(@S,1,1,'')
Select @S
liaoxiaohua1981 2006-05-31
  • 打赏
  • 举报
回复
没人回答!自己顶上
zlp321002 2006-05-31
  • 打赏
  • 举报
回复
declare @s varchar(2000)
set @s=''
select @s=@s+'|'+cast(学号 as varchar) from 表
where 成绩 between 90 and 200
select stuff(@s,1,1,'')
xeqtr1982 2006-05-31
  • 打赏
  • 举报
回复
declare @T table(学号 int,成绩 int)
insert into @t select 2001,98
union all select 2005,100
union all select 2006,180
union all select 2007,190
union all select 2009,200

declare @sql varchar(1000)
set @sql=''
select @sql=@sql+'|'+cast(学号 as varchar(100)) from @t where 成绩 between 90 and 200
select stuff(@sql,1,1,'')

itblog 2006-05-31
  • 打赏
  • 举报
回复
declare @a varchar(2000)
select @a=''
select @a=@a+'|'+rtrim(学号) from 表名 where 成绩>=90 and 成绩<=200
select @a=stuff(@a,1,1,'')
print @a
feige601 2006-05-31
  • 打赏
  • 举报
回复
ASP+SQL技术群:5573944
网际网络技术专业群、讨论 HTML/asp等网页制作、数据库ACCESS/SQL等技术交流

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧