将表的记录内容 转换成字段 用select查询

Jipi 2003-08-22 12:29:06
如表 s
----------
1
2
3
4
5
6
7
8
变成
1 2 3 4 5 6 7 8
-----------------------------
或 s1 s2 s3 s4 s5 s6 s7 s8
-----------------------------
1 2 3 4 5 6 7 8
...全文
60 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
愉快的登山者 2003-08-22
  • 打赏
  • 举报
回复
declare @s varchar(1000)
set @s = ''
select @s = @s + cast(s as char(3)) from 表
select @s
CrazyFor 2003-08-22
  • 打赏
  • 举报
回复
参考:
create table #(a varchar(100),b int)
insert # values('aa',11)
insert # values('bb',1)
insert # values('aa',45)
insert # values('cc',81)
insert # values('a',11)
insert # values('aay',561)
insert # values('a',14)

declare @sql varchar(8000)
set @sql = 'select '
select @sql = @sql + 'sum(case a when '''+a+'''
then b else 0 end) '+a+'的数量,'
from (select distinct a from #) as a

select @sql = left(@sql,len(@sql)-1) + ' from #'

exec(@sql)

drop table #
Jipi 2003-08-22
  • 打赏
  • 举报
回复
各位大哥就是厉害,谢谢各位了
nboys 2003-08-22
  • 打赏
  • 举报
回复
如表 s
----------
1
2
3
4
5
6
7
8
变成
1 2 3 4 5 6 7 8
-----------------------------
或 s1 s2 s3 s4 s5 s6 s7 s8
-----------------------------
1 2 3 4 5 6 7 8


declare @str varchar(8000)
set @str= ''
select @str = @str + 's' + convert(varchar,s) + space(1) from tableName
select @str
dafu71 2003-08-22
  • 打赏
  • 举报
回复
declare @s varchar(8000)
set @s = ''
select @s = @s + cast(s as varchar(10)) + replicate(' ',5) from 表
select @s

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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