SQL多行转多列】的更多相关文章

--★转换结果如上图 1.首先创建表: CREATE TABLE [成绩表]( ,) NOT NULL, )NULL, , )NULL, , )NULL, , )NULL ) ON [PRIMARY] 2.插入测试数据 INSERT INTO 成绩表([姓名],[语文],[数学],[英语]) ,,,,),(,,),(,,),(,,),(,,) 3.执行语句进行行列转换 ) select @sql_1='' select @sql_1= @sql_1 + 'select [编号],[姓名],['+…
CREATE TABLE DEPT (DeptNo INT IDENTITY(1, 1)NOT NULL ,  Country VARCHAR(50) ,  Location VARCHAR(50) NULL )   SET IDENTITY_INSERT DEPT ON INSERT  DEPT( DeptNo, Country, Location )VALUES  ( 1, 'User1', 'A' ) INSERT  DEPT( DeptNo, Country, Location )VAL…
CREATE TABLE DEPT (DeptNo INT IDENTITY(1, 1)NOT NULL ,  Country VARCHAR(50) ,  Location VARCHAR(50) NULL )   SET IDENTITY_INSERT DEPT ON INSERT  DEPT( DeptNo, Country, Location )VALUES  ( 1, 'User1', 'A' ) INSERT  DEPT( DeptNo, Country, Location )VAL…
with a as( select * from( select 1 userId , '天津' province union select 1 userId , '北京' union select 1 userId , '上海' union select 2 userId , '北京' union select 2 userId , '上海' ) model ) select distinct userId, stuff( (select ','+province from a where u…
一.多行转成一列(并以","隔开) 表名:A 表数据: 想要的查询结果: 查询语句: SELECT name , value = ( STUFF(( SELECT ',' + value FROM A WHERE name = Test.name FOR XML PATH('') ), , , '') ) FROM A AS Test GROUP BY name; PS:STUFF语句就是为了去掉第一个[逗号] 附STUFF用法:(从原字符的第二个开始共三个字符替换为后面的字符) ,…
sql的行转列(PIVOT)与列转行(UNPIVOT)   在做数据统计的时候,行转列,列转行是经常碰到的问题.case when方式太麻烦了,而且可扩展性不强,可以使用 PIVOT,UNPIVOT比较快速实现行转列,列转行,而且可扩展性强 一.行转列 1.测试数据准备 CREATE TABLE [StudentScores] ( [UserName] NVARCHAR(20), --学生姓名 [Subject] NVARCHAR(30), --科目 [Score] FLOAT, --成绩 )…
hello_test是我的存储过程的名字,在mapper.xml文件中是这么写的 <select id="getPageByProcedure" statementType="CALLABLE" databaseId="oracle"> {call hello_test( #{start,mode=IN,jdbcType=INTEGER}, #{end,mode=IN,jdbcType=INTEGER}, #{count,mode=O…
一.多行转成一列(并以","隔开) 表名:A 表数据: 想要的查询结果: 查询语句: SELECT name , value = ( STUFF(( SELECT ',' + value FROM A WHERE name = Test.name FOR XML PATH('') ), 1, 1, '') ) FROM A AS Test GROUP BY name; PS:STUFF语句就是为了去掉第一个[逗号] 附STUFF用法:(从原字符的第二个开始共三个字符替换为后面的字符)…
原文:在论坛中出现的比较难的sql问题:15(生成动态删除列语句 分组内多行转为多列) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 1.如果去掉这个临时表中合计为0 的字段 http://bbs.csdn.net/topics/390625348 我有一个临时表 ##temp, 字段  住院号,床位,应收金额,优惠金额1,优惠金额2,优惠金额3,优惠金额4.....优惠金额N  我想把临时表中 优惠金额X 合计为0的字段去掉,如何去?  又或者,生成另一个没有…