SQL实用技巧:如何将表中某一列的部分数据合并到一行中

select *,stuff(select ‘,’ + fieldname from table1 for xml path(”)),1,1,”)  as  field from table2

for xml path(”) ,自从 SQL Server2005及更高版本提供了一个新查询语法 ,主要是用于将一列中的部分数据合并到一个单元格中;

stuff()函数主要是用于将制定位置的字符串用特定的字符串替换;

原文地址:https://www.cnblogs.com/chenshc/p/11827629.html

时间: 2024-10-10 20:08:54

SQL实用技巧:如何将表中某一列的部分数据合并到一行中的相关文章

T SQL 将一列多行数据合并为一行

SQL Server 在进行数据迁移和报表处理的时候遇到将一列多行数据拼接为一个字符串的情形,查找相关的资料整理如下,提供两种方法. Table:SC Student Course 张三 大学语文 李四 大学语文 张三 书法鉴赏 张三 音乐欣赏 李四 电影赏析 期望得到的结果: Student Course 张三 大学语文,书法鉴赏,音乐欣赏 李四 大学语文,电影赏析 一.用户自定义函数 CREATE FUNCTION FN_Merge (@Student NVARCHAR(50)) RETUR

SQL 将一条记录中多个字段的值拼接为一个字段 && 将多行数据合并成一行,并且拼接CONVERT() 、for xml path的使用

接着上篇文章的订单表(商品编号,价格设置时间id(类似于创建时间,创建时间约早,则act_id越小) ,价格的时间段,商品价格) 一.将一条记录中多个字段的值拼接为一个字段 现要求将两个时间段合并为一个字段,应该如何做呢? 先来看下理想的结果: 查询出的时间段合并到一起了: 代码如下,将查询的字段用+'你想要的符号' + 拼接即可 select item,act_id,loc_id,convert(varchar(100),start_date,20)+ '-' +convert(varchar

sql里将重复行数据合并为一行,数据用逗号分隔

DECLARE @T1 table ( UserID int , UserName nvarchar(50), CityName nvarchar(50) ); insert into @T1 (UserID,UserName,CityName) values (1,'a','上海') insert into @T1 (UserID,UserName,CityName) values (2,'b','北京') insert into @T1 (UserID,UserName,CityName)

SQL SERVER将多行数据合并成一行(转)

1)比如表中有三列数据: 2)执行如下查询: 1 SELECT [USER_NAME], [USER_ACCOUNT] 2 , [ROLE_NAME] = stuff(( 3 SELECT ',' + [ROLE_NAME] 4 FROM [WAP_WORKSHEET].[dbo].[userTest] 5 WHERE [USER_ACCOUNT] = a.[USER_ACCOUNT] 6 FOR XML path('') 7 ), 1, 1, '') 8 FROM [WAP_WORKSHEET

如何在GridControl中显示图片列?控件DevExpress.XtraGrid.GridControl中显示图片列。

GridControl一列的ColumnEdit属性中选择PictureEdit,一个RepositoryItemPictureEdit添加完成.列的FieldName设置为Image列名,如img. GridControl绑定的数据,不管是DataTable.List或者其他源,添加一个列,列名为img. 以DataTable为例: Image xx=Image.FromFile("xxx"),yy=Image.FromFile("yyy"); dt.Column

sql语句查询一个表中某一列的相同数据

1.找出这列中有相同内容的列的数据.代码如下: select 列名 from 表名 group by 列名 having count(列名) > 1 2.把这些有相同内容的记录,查出来.代码如下: select 列名 from 表名 where 列名 in (select 列名 from 表名 group by 列名 having count(列名) > 1)

SQL实用技巧:如何判断一个值是否为数字的方法

检测是不是数字型的数据, 两种方法 1. ISNUMERIC ( expression ) 2. PATINDEX ( ‘%pattern%‘ , expression ) 1. ISNUMERIC ( expression ) 如果是数字类型则返回 1 ,不是则返回 0 但ISNUMERIC有时是不可靠的,如果你不允许expression包含有任何字母,则会判断错: 如:ISNUMERIC(‘23e4’)返回 1 ISNUMERIC(‘23d4’)返回 1 2. PATINDEX ( ‘%pa

SQL实用技巧:如何分割字符串

create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20)) as begin while(charindex(@split,@c)<>0) begin insert @t(col) values (substring(@c,1,charindex(@split,@c)-1)) set @c = stuff(@c,1,charindex(@split,@c),'') e

sql server中如何将两个字段数据合并成一个字段显示(字段与字段添加特殊符号)

之前,我在做统计数据时,需要一个字段显示某月的订单数量和订单金额,要求组合成一个字段,用括号组合. 统计出来的结果大概是这样的,首先我们来创建一些模拟数据 ---创建订单表--- create table OmsOrder( Uid int identity(1,1) primary key, OrganizeName varchar(20) not null, OrderCount int not null, OrderMoney float not null ) --添加模拟数据--- in