SQL 一列拆分多行】的更多相关文章

select a.col1,b.col2 from (select col1,col2=convert(xml,' <root> <v>'+replace(col2,',',' </v> <v>')+' </v> </root>') from TABc)a outer apply (select col2=C.v.value('.','nvarchar(100)') from a.col2.nodes('/root/v')C(v))b…
with CTE as( SELECT A.id, B.value FROM( SELECT id, value = CONVERT(xml,'<root><v>' + REPLACE([列名], ',', '</v><v>') + '</v></root>') FROM 表名 where limit<>'*' and id=3 )A OUTER APPLY( SELECT value = N.v.value('.', '…
http://blog.csdn.net/rolamao/article/details/7745972 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes  ep_name AAA         企业1 AAA         企业2 AAA         企业3 BBB         企业4 BBB         企业5 我想把这个表变成如下格式: ep_c…
看到个不常见的问题~然后在 Inner Sql Server2008 里面找到一个思路. 如果下面的表结构,如何拆分多行并对应员工号呢? 首先创建测试表 CREATE TABLE Department ( ID ,) PRIMARY KEY, DepartmentName ) NULL, Members ) NULL ) CREATE TABLE Employee ( ID ,) PRIMARY KEY, NAME ) NULL ) INSERT INTO Department VALUES (…
开篇介绍 记得笔者在 2006年左右刚开始学习 SQL Server 2000 的时候,遇到一个面试题就是行转列,列转行的操作,当时写了很长时间的 SQL 语句最终还是以失败而告终.后来即使能写出来,也是磕磕碰碰的,虽然很能锻炼 SQL 功底,每次都要挣扎一番,溺水的感觉.记得SQL Server 2005 以后就有了 PIVOT 和 UNPIVOT 这两个函数,可以非常方便的实现行转列和列传行的操作,就不再那么挣扎了.后来,在一个 08 项目中,有一位新的女同事在改一个 ETL,发现 SSIS…
转自http://blog.csdn.net/rolamao/article/details/7745972 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes  ep_name AAA         企业1 AAA         企业2 AAA         企业3 BBB         企业4 BBB         企业5 我想把这个表变成如下格式: ep…
昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes  ep_name AAA         企业1 AAA         企业2 AAA         企业3 BBB         企业4 BBB         企业5 我想把这个表变成如下格式: ep_classes      ep_name AAA             企业1,企业2,企业3 BBB  …
项目中要将查询出的一列的多行内容拼接成一行,如下图:ypmc列. ms sql server: 网上查到相关资料如下:http://blog.csdn.net/rolamao/article/details/7745972 写的还不错. 我写的如下(存储过程中): select (STUFF((select '';''+ywmc from JB_TNB_HZ_YYQK where XT_JLZT =''0'' and SFLSH=a.lsh for xml path('''')),1,1,'''…
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…
原文:在论坛中出现的比较难的sql问题:42(动态行转列 考勤时间动态列) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路.…