改列换行

dixiao4 2003-12-12 02:40:20
数据物理存款方式
A B C
A D E
A R T
A T U
如何使之查询出来后以这种形式显示
A B C D E R T T U
...全文
57 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2003-12-12
  • 打赏
  • 举报
回复
--测试
declare @s varchar(8000)
set @s=''
select @s=@s+','''+a+''','''+b+''','''+c+''''
from(
select a='A',b='B',c='C'
union all select 'A','D','E'
union all select 'A','R','T'
union all select 'A','T','U'
) a

set @s=substring(@s,2,8000)
exec('select '+@s)

/*--结果
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
A B C A D E A R T A T U


--*/
zjcxc 2003-12-12
  • 打赏
  • 举报
回复
--上面的错了一点
declare @s varchar(8000)
set @s=''
select @s=@s+','''+字段1+''','''+字段2+''','''+字段3+'''' from 表
set @s=substring(@s,2,8000)
exec('select '+@s)
zjcxc 2003-12-12
  • 打赏
  • 举报
回复
declare @s varchar(8000)
set @s=''
select @s=@s+','''+字段1+''','''+字段2+''','''+字段3+'''' from 表
set @s=substring(@s,2,8000)
exec(@s)
txlicenhe 2003-12-12
  • 打赏
  • 举报
回复
同意中海,参考:
http://expert.csdn.net/Expert/topic/2440/2440306.xml?temp=.6941645
[交流]行列转换
victorycyz 2003-12-12
  • 打赏
  • 举报
回复
--设表名为A,列名分别为col1, col2, col3

declare @str varchar(1000)
set @str='A'
select @str=@str +' ' + col2 + ' ' + col3 from A where col1='A'
select @str

22,207

社区成员

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

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