横表如何转纵表(本来想先搜一下,又不知用什么关键字)?

huyidehyd 2003-11-08 12:39:14
a b c d e f g h
15 9 1 0 1 2 2 0
部分sql语句:
select
(SELECT count(DISTINCT id)
FROM XL_Repair_Item_Info where id>1) as a,(其余类似)
我想知道,两则如何转换?
...全文
49 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
txlicenhe 2003-11-08
  • 打赏
  • 举报
回复
测试:
create table t1 (a int,b int,c int,d int,e int,f int,g int,h int)
insert t1 values(15, 9, 1, 0, 1, 2, 2, 0)

declare @ varchar(8000)
set @=''
select @=@+rtrim(name)+' from t1 union all select ' from syscolumns where id=object_id('t1')
set @=left(@,len(@)-len(' from t1 union all select '))
--print @
exec('select '+@+' from t1')

a
-----------
15
9
1
0
1
2
2
0

huyidehyd 2003-11-08
  • 打赏
  • 举报
回复
谢谢!
zjcxc 2003-11-08
  • 打赏
  • 举报
回复

测试结果

a b c d e f g h
------------------------------- ----------- ----------- ----------- -----------
15 9 1 0 1 2 2 0

zjcxc 2003-11-08
  • 打赏
  • 举报
回复
--纵向转横向
--横向转纵向

--测试的表
select * into tb
from(
select aa='a',bb=15
union all select 'b',9
union all select 'c',1
union all select 'd',0
union all select 'e',1
union all select 'f',2
union all select 'g',2
union all select 'h',0
) a

--数据处理语句
declare @s varchar(8000)
set @s=''
select @s=@s+','+aa+'='+cast(bb as varchar) from tb
set @s=substring(@s,2,8000)
exec('select '+@s)

--删除测试表
drop table tb
zjcxc 2003-11-08
  • 打赏
  • 举报
回复
--横向转纵向

--测试的表
select a=15,b=9,c=1,d=0,e=1,f=2,g=2,h=0 into tb

--数据处理语句
declare @s varchar(8000)
set @s=''
select @s=@s+' union all select '+name+' from tb' from syscolumns where object_id('tb')=id
set @s=substring(@s,12,8000)
exec(@s)

--删除测试表
drop table tb

/*--测试结果:
a
-----------
15
9
1
0
1
2
2
0

--*/
课程目标本课程详细讲解了C++的所有关键字,包括C++11和C++20新增的关键字和语言特性适用人群本课程并非零基础,适合有C语言基础,尤其是学过嵌入式linux核心课程的《C语言高级专题》的同学。课程简介《跟朱老师从C高级到征服C++》属于系列课程《朱有鹏老师热门编程语言全解》的第一部分,主要针对C++语言完全学习。本课程可以看做是嵌入式linux核心课程中《C语言高级专题》课程的延续,在学好了C语言前提下继续深度学习C++语言。整个课程共分为5部分。涵盖了C++基础语法和使用,面向对象,STL与泛型,Boost库和设计模式,C++编程优化技巧等非常广泛的内容,是市面上非常缺少的深度完整学习C++,培养编程技能和修养的一套系列学习课程。整个课程预计2020年底前录制完成,总时长预计150-200小时。朱老师C++第1部分-从C到C++朱老师C++第2部分-C++和面向对象朱老师C++第3部分-STL等高阶话题朱老师C++第4部分-Boost库和设计模式朱老师C++第5部分-C++编程优化课程特色*完全零基础,降低学习门槛。*深入浅出,通俗易懂。不怕学不会,就怕你不学习。*思路清晰、语言风趣,对着视频看也不会想睡觉······*视频 + 文档 + 练习题 + 答疑,全方位保证学习质量。*基础知识 + 思路引导的教学方式,授之以鱼更授之以渔。*系列课程。本教程只是入门篇,后续还有更多更精彩视频更新中。

22,209

社区成员

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

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