数据库列转换,列转换好后不要放在一个格子中的。

demonapple 2010-12-15 12:17:40
假如有表test
字段a
1
b
3
c
5
6



内容是无规律的。
然后要转换成a 1 b 3 c 5 6 ...
转换好后不是放在一个格子中的


declare @sql varchar(1000)
set @sql=''
select @sql=@sql+a from test

select left(@sql,len(@sql)-1)

上面那段代码最后的结果是放在一个格子中的
我想实现,a, 1,2,3,c,5,6是放在一个一个格子里面的那种

请问能不能实现呢?
分很少,见谅。。。。
...全文
59 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
demonapple 2010-12-25
  • 打赏
  • 举报
回复
Dlut_LIuQ
(飘零一叶)

还是有点差距,行的名字没有取以前列的名字。。。
飘零一叶 2010-12-15
  • 打赏
  • 举报
回复
IF OBJECT_ID('TB') IS NOT NULL DROP TABLE TB
GO
CREATE TABLE TB
(
a varchar(5)
)
INSERT INTO TB
select 'a' union all
select 'b' union all
select '3' union all
select 'c' union all
select '5' union all
select '6'




declare @sql varchar(1000)
select @sql=isnull(@sql+',','')+' max(case when a='''+a+''' then a end) a' from tb
set @sql='select '+@sql+' from tb'
exec (@sql)
---------------------
a a a a a a
a b 3 c 5 6




王向飞 2010-12-15
  • 打赏
  • 举报
回复

--> 数据库版本:
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--> 测试数据:[TB]
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB]')
AND type in (N'U'))
DROP TABLE [TB]
GO

---->建表
create table [TB]([月份] int,[姓名] varchar(2),[类型] varchar(6),[天数] int)
insert [TB]
select 201008,'AA','病假',1 union all
select 201008,'AA','事假',2 union all
select 201008,'AA','有薪假',1 union all
select 201008,'BB','病假',2 union all
select 201008,'BB','事假',1 union all
select 201008,'BB','有薪假',2 union all
select 201009,'AA','病假',1 union all
select 201009,'AA','事假',2 union all
select 201009,'AA','有薪假',1 union all
select 201009,'BB','病假',2 union all
select 201009,'BB','事假',1 union all
select 201009,'BB','有薪假',2
GO

declare @sql varchar(8000)
select @sql = isnull(@sql+',','')+'max(case when 月份='''+ltrim(月份)+''' and 类型= '''+ltrim(类型)+''' then 天数 else null end) as ['+ltrim(月份)+ltrim(类型)+']'
from (
select distinct 月份,类型 from TB t
) r
select @sql = '
select 姓名,'+@sql+'
from TB r
group by 姓名'
exec(@sql)
自己参照改改吧。
-晴天 2010-12-15
  • 打赏
  • 举报
回复
告诉你一个很简易的方法:
导出到EXCEL,然后复制,选择性粘贴,转置.就OK.
比写SQL语句省NNN倍事.

22,209

社区成员

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

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