SELECT TypeName ,(SELECT ','+ UserName FROM [ContainerMembers] t WHERE TypeName= aa.TypeName FOR XML PATH('')) AS Users  FROM [ContainerMembers] aa  GROUP BY [TypeName]…
原文:[原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式 我们日常开发中,不管是表设计问题抑或是其他什么原因,或多或少都会遇到一张表中有一个字段存储的内容是用逗号隔开的列表. 具体效果如下图: ------> 从左边图转换成右边图,像这种需求,我们难免会遇到. 今天我写了个存储过程来解决这种问题.主要方式是利用master..spt_values表. 具体存储过程如下: -- Author: LHM -- Create date: 2015-01-10 -- Description: 把…
我们日常开发中,不管是表设计问题抑或是其他什么原因,或多或少都会遇到一张表中有一个字段存储的内容是用逗号隔开的列表. 具体效果如下图: ------> 从左边图转换成右边图,像这种需求,我们难免会遇到. 今天我写了个存储过程来解决这种问题.主要方式是利用master..spt_values表. 具体存储过程如下: -- Author: LHM -- Create date: 2015-01-10 -- Description: 把表中某一个列按照逗号拼接列表 --示例: EXEC [Sp_Str…
原始数据,需要拼接成一行 select * from (select d.*,(SELECT count ([Keyword])FROM [DragonGuoShi].[dbo].[ArticleInfo]where Keyword like'%'+d.Keyword+'%' and [ArticleCreateDate]>'2018-06-10') as Num from (select distinct(Keyword) from( select SUBSTRING( Keyword,num…
在我们开发的过程中,难免遇到一种场景,把某个表中的的某个列的值拼接成用逗号隔开的一行数据 如图:我们把UserId列拼接成一行数据 -------> 为此我写了一个存储过程来解决此类问题. -- Author:        LHM -- Create date: 2015-01-15 -- Description:    把表中某一个列按照逗号拼接成一行 --示例: EXEC [Sp_TableToString] 'cast([UserId] as varchar)','[X_RoleUser…
在一个SQL Server表中一行的多个列找出最大值 有时候我们需要从多个相同的列里(这些列的数据类型相同)找出最大的那个值,并显示 这里给出一个例子 IF (OBJECT_ID('tempdb..##TestTable') IS NOT NULL) DROP TABLE ##TestTable CREATE TABLE ##TestTable ( ID ,) PRIMARY KEY, Name ), UpdateByApp1Date DATETIME, UpdateByApp2Date DAT…
sql一个表中两个字段,合并求和 SELECT SUM(字段a+'.'+字段b) as total  from TABLE…
SQL server 表中如何创建索引?看个示例,你就会了 use master goif db_id(N'zhangxu')is not nulldrop database zhangxugocreate database zhangxusp_helpdb zhangxuuse zhangxugoIF EXISTS (SELECT *FROM SYS.OBJECTS WHERE NAME = N'WORKER')DROP TABLE WORKERGOcreate table worker( w…
我们知道这个SQL server数据库中的DateTime类型是数据库应用开发中经经常使用到的一种数据类型.而C#语言中也有DateTime类型,尽管二者都是用来描写叙述时间的,可是它们的默认值是不同的.这点必须注意,在开发过程中.二者之间相互适应关系处理不当.可能会产生不必要的麻烦,就等于浪费时间,所以记住.举个样例看看: 创建一个windows应用程序,创建一个用户信息实体类UserInfo.代码例如以下: 注意的是:用户信息类中的"操作日期"属性是日期类型. 再创建一个业务操作类…
在MYSQL中,TIMESTAMP类型是用来表示日期的,但是和DATETIME不同,不同点就不再这里说明了. 当我们在使用TIMESTAMP类型设置表中的字段时,我们应该要注意一点,首先我们在表中新增一个类型为TIMESTAMP的字段: 如上图所示,系统为类型为TIMESTAMP的tm字段自动创建了默认值CURRENT_TIMESTAMP(系统日期),下面我们看表中的数据,新增的列自动填充了系统日期的值: 下面我们在表中继续新增一个类型为TIMESTAMP类型的字段tm1,然后查看表结构: 如上…
1.  SQL将一个表中的某一列值全部插入到另一个表中 插入的话: insert into a(col) select col from b; 更新的话: update a set col=select col from b where a.id=b.id; 判断表是否存在数据库中,存在就删除 if exists (select * from Sysobjects where name='temp') begin drop table temp end insert into a(columen…
sql将一个表中的数据插入到另一个表中 列名不一定要相同,只要你在HH中列出要插入列的列表跟select   from   mm表中的选择的列的列表一一对应就可以了,当然两边的数据类型应该是兼容的.    比如:  insert   into   hh   (fielda,fieldb,fieldc)   select   fieldx,fieldy,fieldz   from   mm   ---更新计量点中不存在的数据,将台帐中的信息转移到计量点中   insert into MetricP…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA SQL取表中每行最小值   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 比如有一个表结构+数据如下: ​ ID | COL_1 | COL_2 | COL_3 ---|-------|-------|------ ​ 想要得到每一行最小的数据值 即得到如下结果: ​ ID | M…
工作中经常需要将EXCEL文件中的数据导入到各种数据库,但是对于不熟悉数据库的人来说,如果直接使用命令执行导入,这无疑是一个难题,也是一个风险.这里我们直接在EXCEL文件中拼接成标准的SQL insert语句来进入数据插入.虽然看起来有点幼稚,但是至少也能按要求完成工作. 假设在EXCEL中有三列A.B.C,现在要将这三列值插入到表testtable对应的三个字段(col1,col2,col3)中. 如下图:在D1列输入值: ="INSERT INTO testtable (col1,col2…
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…
转自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  …
转自:SQL查询结果列拼接成逗号分隔的字符串 背景:做SQL查询时会经常需要,把查询的结果拼接成一个字符串. 解决方法: 通过 group_concat 函数 拼接的结果很长,导致拼接结果显示不全,可以通过以下方法解决. 在每次查询前执行 SET SESSION group_concat_max_len = 10240; 或者SET GLOBAL group_concat_max_len = 10240; 使得查询结果值变大. 补充:SQL server 的 拼接SQL如下: select st…
一个朋友,碰到一个问题. 就是查询出来的结果集,需要每隔三行.就将这三行数据以此拼接为一行显示.起初我想着用ROW_NUMBER加CASE WHEN去做,发现结果并非我预期那样. 结果如下: 由于别人的数据,不方便显示.查询出来还是为三行数据,只是将其余部分展现出了空值.这种结果是不行的. 随后百度找到了,下面内容的百度经验.本想用这个数据集,以及语句贴上来.但还是因为不方便,就将那篇百度经验拿过来使用吧! 下面的百度经验是针对于两行数据进行的操作,多行数据也可以操作. 这里的左连接条件只需要写…
--查询数据库中所有指定类型的字段名称和所在的表名 --eg: 下面查的是当前数据库中 所有字段类型为 nvarchar(max) 的字段名和表名 SELECT cols.object_id , cols.column_id , cols.name AS ColumnName , TYPE_NAME(cols.system_type_id) AS ColumnType , cols.max_length , obj.name AS TableName FROM sys.columns cols…
取列全部用的 sys. 中的表 CTE:WITH name AS() 用法:   sql树形查询 ①主键信息 SELECT ic.column_id, ic.index_column_id, ic.object_id FROM sys.indexes idx INNER JOIN sys.index_columns ic ON idx.index_id = ic.index_id AND idx.object_id = ic.object_id WHERE idx.object_id = OBJ…
嗯,遇见了表中存在重复的记录的问题,直接写sql删除时最快的,才不要慢慢的复制到excel表中慢慢的人工找呢.哼. 如下sql,找出重复的记录,和重复记录中ID值最小的记录(表中ID为自增长) select MIN(ID) as id, StructSN ,Date,UserID,StarCount,COUNT(StructSN) as c from T_Dor_StructStar ' group by StructSN ,Date,UserID,StarCount having COUNT(…
order by a.uid,a.id; sql查询语句,针对需求:一个表中某一字段是有重复的数据,针对该字段相同的值只取最近的3条或要求的几条: --记录铭心!…
有时候我们可能会把CSV中的数据导入到某个数据库的表中,比如做报表分析的时候. 对于这个问题,我想一点也难不倒程序人员吧!但是要是SQL Server能够完成这个任务,岂不是更好! 对,SQL Server确实有这个功能. 首先先让我们看一下CSV文件,该文件保存在我的D:盘下,名为csv.txt,内容是:    现在就是SQL Server的关键部分了: 我们使用的是SQL Server的BULK INSERT命令,关于该命令的详细解释,请点击此处: 我们先在SQL Server中建立用于保存…
保存数据库数据直接查询select * from tableName 在数据表格的左上角右击——将结果另存为选择路劲保存好的就是.csv格式的数据 有时候我们可能会把CSV中的数据导入到某个数据库的表中,比如做报表分析的时候. 对于这个问题,我想一点也难不倒程序人员吧!但是要是SQL Server能够完成这个任务,岂不是更好! 对,SQL Server确实有这个功能. 首先先让我们看一下CSV文件,该文件保存在我的D:盘下,名为csv.txt,内容是:    现在就是SQL Server的关键部…
SQL 的主要功能之一是实现数据库查询. 你使用查询来取得满足特定条件的信息. 一个简单的表查询实例 SQL 查询的句法非常简单.假设有一个名为email_table 的表,包含名字和地址两个字段,要得到Bill Gates 的e_mail 地址,你可以使用下面的查询: SELECT email from email_table where name="bill gates" 当这个查询执行时,就从名为email_table 的表中读取Bill Gates 的email 地址. 这个简…
表结构:group表(groupid int,groupname varchar) 表中数据:id name 分组1 分组2 分组3 分组4 --------------------------------------------------------- SQL: INSERT INTO grouping(groupid,groupname) ,'组名' FROM grouping --------------------------------------------------------…
客户需要将表中统计好的数据还原成统计前的原始记录 例如: ID Name QTYCount100 Name1 1101 Name2 2102 Name3 3103 Name4 4104 Name5 5 还原为: ID Name QTY100 Name1 1101 Name2 1102 Name2 1103 Name3 1104 Name3 1105 Name3 1106 Name4 1107 Name4 1108 Name4 1109 Name4 1110 Name5 1111 Name5 11…
MYSQL 中有一种数据类型是 SET,首先我们查看一个包含 SET 类型字段的表结构: 接下来我们向表中插入数据: 按照上面的语句插入数据发现报错了,于是去掉了插入值之间的空格,然后插入成功:…
数据库中设置了自增列,有时候需要清楚数据库从新录入数据.最常见的做法就是使用sql语句"delete 表明名"或是直接选中数据,然后删除数据.但是再次插入数据的时候,你就会发现自增列会从上次删除数据的最大值的下一个值开始,而不是从1开始的.有没有一种感觉,感觉挺苦恼的. 1.方法一: 直接从表中,将需要自增的字段进行修改,把自增这个选项进行取消,然后保存,保存之后再次对这个字段进行自增定义,这样子字段就会重新从1开始自增: 2.方法二: 使用关键词"TRUNCATE 表名&q…