SQL列转行用逗号隔开】的更多相关文章

  declare @result varchar(255) set @result = ” select @result = @result + cast(F_IT_FWID as varchar(255)) +‘,’ from [TJFX].[dbo].[TB_JG_SJTJFXB201412] where F_IT_FWLX=1 select left(@result,len(@result) – 1) as fwid 转自http://ibear.me/2015/08/15/39…
--列转行,逗号拼接指定列的值Oracle中写法:select wmsys.wm_concat(Field1) from TableASQL Server中写法:SELECT STUFF(( SELECT  ',' + Field1 from TableA FOR XML PATH('')), 1, 1, '')…
继上篇<SQL 列转行 合并多条记录>后,有网友反馈新的需求还是不太会用. 现举例说明 一,网友需要如下的效果: 其实,这个需求依然可以我上篇的方法进行解答,但为了实现分组,需要distinct group1,同时,为了根据key1,key2,key3是否相同进行分组,所以要用where进行连接. 语法格式:select .....from t1 where key1=a.key1 and key2=a.key2... for xml path('') 二,进入正题,代码如下: select…
在工作中,大家可能会遇到一些SQL列转行.行转列的问题,恰好,我也遇到了,就在此记录一下.此处所用的是SQLServer2008R2. 行转列,列转行,都要预先知道要要处理多少数据,在此我就以三种方案来说明一下,分别是case when.PIVOT.For XML. 列转行: 首先创建测试数据: --测试语句,准备创建表的语句:如下 CREATE TABLE dbo.test1 ( id int IDENTITY(1,1) NOT NULL PRIMARY KEY NONCLUSTERED, t…
test表: 执行列转行sql: select student, sum(case Course when '语文' then Score else null end) 语文, sum(case Course when '数学' then Score else null end) 数学, sum(case Course when '英语' then Score else null end) 英语 from test group by student 得到结果:…
select OrderID,ProdDetailID from A 表A : OrderID,ProdDetailID 1             6 1             7 1             9 2              5 2             3 如:orderID=1 的列转行select STUFF((SELECT ','+ cast(ProdDetailID as varchar(4)) FROM A  where A.OrderID=1 FOR XML…
SELECT STUFF((SELECT ','+字段名 FROM 表名 for xml path('')),1,1,'')…
需求:按照分组,将多条记录内容合并成一条,效果如下: 数据库示例: CREATE TABLE [t2]([NID] [bigint] NULL,[district] [nvarchar](255) NULL,[town] [nvarchar](255) NULL); insert into t2 values(1,'淮上区','曹老集镇'); insert into t2 values(2,'淮上区','淮滨街道'); insert into t2 values(3,'淮上区','梅桥乡');…
原表:转过的表: 代码: ) set @sql = 'select AssetRecordId ' select @sql = @sql + ' , max(case ExtendName when ''' + ExtendName + ''' then ExtendValue else null end) [' + ExtendName + ']' ) as a set @sql = @sql + ' from dbo.AssetExtend where AssetRecordId=61 gr…
table 1 : id code1 0012 001,0023 001,002,003 table 2:code name001 数学002 体育003 美术 要求结果 id name1 数学2 数学,体育3 数学,体育,美术 --测试数据 with table1(id,code) as ( ,' union all ,'001,002' union all ,'001,002,003'), table2(code,name) as( ','数学' union all ','体育' union…