ms sql 多行記錄合併成一個字符串或多字段(行轉列)

原创 2010年06月26日 16:11:00

--將COPTN表中TN12字段的內容,可能多條記錄,合併成一個字符串
declare @tg varchar(250),@ct int

--計算需要合併記錄的數量並保存在@tc變量中,並初始化@tg
select @ct=count(a.TN012),@tg='' from  (
    select TN012 from COPTN
        where TN001+TN002 in (
            select TH045+TH046 from COPTH
            where TH001+TH002 in ('2313100626003')
        )
    ) a

while @ct>0 begin --@ct作為計數號,等於0時停止查詢
    select @tg=@tg+' / '+b.TN012 from ( --TN012內容之間用' / '分開
        select row_number() over(order by TN002)  RID,TN012 from COPTN 

                --row_number() over(order by TN002)  RID 將符合條件的記錄按TN002字段排序並編號,作為字段RID加到返回的結果中
            where TN001+TN002 in (
                select TH045+TH046 from COPTH
                where TH001+TH002 in ('2313100626003')
            )
        ) b
    where b.RID=@ct --每次只返回記一條錄號RID等於@ct的記錄
    select @ct=@ct-1 --完成一條查詢後@ct計數減1,
end

select @tg=substring(@tg,4,250) --去掉分隔符' / '
select @tg


oracle行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)

啊啊
  • rainyspring4540
  • rainyspring4540
  • 2015年12月09日 09:08
  • 10615

SQL/Oracle 将一列多行合并为一行

1.SQL 参照:http://www.cnblogs.com/smalleyes/archive/2012/03/08/2385658.html 方法一:用户自定义函数 CREATE FUNCT...
  • u010678947
  • u010678947
  • 2015年01月10日 09:28
  • 5143

sql 多行转多列,多行转一列合并数据,列转行

多行转多列:    要实现该功能pivot行数应该是必不可少吧,下面我就来说说该函数如何使用  局限性:该函数只能针对已知行数要转为几列才能使用,动态行转动态列不支持(个人所知,如可以实现请指教) 用...
  • sinat_32057099
  • sinat_32057099
  • 2015年10月16日 15:43
  • 3766

SQL 行轉列 與 列轉行

先準備點數據: CREATE TABLE Sell ( [Year] INT, [Quarter] NVARCHAR(10), Quantity INT ) GO INSERT INTO...
  • Benjayming
  • Benjayming
  • 2013年12月08日 18:44
  • 6874

T_SQL 将一列多行数据合并为一行

SQL Server在进行数据迁移和报表处理的时候会遇到将一列多行数据拼接为一个字符串的情况,为了处理这个问题,在网上找了一些相关的资料,提供两种方法,供遇到类似问题的朋友们参考,也借此加深自己的印象...
  • sbt0198
  • sbt0198
  • 2014年10月16日 11:17
  • 1886

SQL Server中将多行数据拼接为一行数据(一个字符串)

转载自:http://blog.sina.com.cn/s/blog_63c31d660101obov.html 方法一: 使用T-SQL DECLARE @Users NVARCHAR(MAX)...
  • qq_33276294
  • qq_33276294
  • 2017年04月17日 23:54
  • 1239

sql查询 ,多行数据合并成一行,并且显示合并后某一列的值拼接结果

使用stuff + for xml path 解决sql查询 order by之后拼接列,并显示拼接后的字符串
  • u012860938
  • u012860938
  • 2016年03月04日 16:49
  • 13793

分别使用函数及游标实现SQL多行转一列(文本合并)

分别使用函数及游标实现SQL多行转一列 有时候在一些系统中我们需要用SQL语句将一对多关系表中的数据以每条记录一行的形式进行显示。本文分别采用函数及游标的方法来实现该功能。 示例表描述如下 ...
  • mfkpie
  • mfkpie
  • 2013年11月22日 23:04
  • 1620

Oracle 把某一列的多行数据拼接为一个字符串

业务需求:在Oracle中把某一列的多行数据拼接为一个字符串,如下: 转为关键知识点sys_connect_by_path【引自度娘】在Oracle中,SYS_CONNECT_BY_PATH函数主要...
  • CrazyMo_
  • CrazyMo_
  • 2015年05月04日 11:27
  • 2717

mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)

我的个人理解:mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行),我觉得这都是一个意思 数据库结构如图: 而我想让同一个人的不同成绩变成此人在这一行不同列上显示出来,此时分...
  • rainyspring4540
  • rainyspring4540
  • 2015年12月09日 07:54
  • 14232
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ms sql 多行記錄合併成一個字符串或多字段(行轉列)
举报原因:
原因补充:

(最多只允许输入30个字)