- 浏览: 190414 次
- 性别:
- 来自: 广州
文章分类
最新评论
--创建测试表 IF OBJECT_ID('test') IS NOT NULL DROP TABLE test CREATE TABLE dbo.test( id int IDENTITY(1,1) NOT NULL, name varchar(50) NULL, subject varchar(50) NULL, source decimal(18,2) NULL ) GO --插入测试数据 INSERT INTO test (name,subject,source) SELECT '张三','语文',60 UNION ALL SELECT '张三','英语',90 UNION ALL SELECT '李四','语文',70 UNION ALL SELECT '李四','数学',80 UNION ALL SELECT '王五','数学',75 UNION ALL SELECT '王五','英语',80 GO SELECT * FROM test --1 通过 select 累加 DECLARE @sql_col VARCHAR(8000) SELECT @sql_col = ISNULL(@sql_col + ',','') + QUOTENAME(Subject) FROM test GROUP BY Subject SELECT @sql_col --2 通过 FOR xml path('') 合并字符串记录 SELECT STUFF( (SELECT '#' + Subject FROM test WHERE name = '王五' FOR xml path('') ),1,1,'' ) --3 分组合并字符串记录 SELECT name, Subject = ( STUFF( (SELECT '#' + Subject FROM test WHERE name = A.name FOR xml path('') ),1,1,'' ) ) FROM test A GROUP by name
转自:https://www.cnblogs.com/xiaozhi1236/p/6344134.html?utm_source=itdadao&utm_medium=referral
发表评论
-
sqlserver 计划任务 收缩数据库日志文件
2019-06-28 15:32 1066针对之前的语句做了整合,只有日志文件大于1000M时,才进行收 ... -
Sqlserver查询数据库文件大小和剩余空间
2019-06-28 14:27 948在MS Sql Server中可以能过以下的方法查询出磁盘空间 ... -
使用job对日志文件定期处理
2019-06-28 10:35 403use master go --更改数据库模式为简 ... -
根据当前日期往前推12个月得到每月月份及年份
2019-04-24 11:39 2952效果就是: col_name data_month ... -
查看数据库中每个表的空间大小及行数
2019-04-04 16:58 455create table #t (name varcha ... -
sql语句之根据起始结束日期获取每一天、周、月、年【转】
2019-03-20 15:45 1704得到两个时间之间的每一天 create function ... -
sqlserver update或者Delete误操作恢复方法---【验证】
2018-11-08 12:32 2275高手具体方法: 原文地址:http://blog.csdn. ... -
SQL并发的问题
2018-01-15 15:55 567参考文献: https://www.cnblogs.com/C ... -
sql函数应用简单举例
2017-11-24 16:25 555返回某个字段 create function getran ... -
sql 生成不重复的随机数
2017-11-24 15:13 2081--创建视图(因为在函数中无法直接使用newid()) ... -
sql 上个月,下个月时间处理函数
2017-11-21 15:52 2964--上月的第一天 SELECT CONVERT(CHAR(1 ... -
删除当前库中所有表记录
2011-10-04 20:45 879--先禁用所有外键约束 exec sp_msforeac ... -
因为文件组primary已满,未能为数据库XX对象XX分配空间
2011-02-18 17:10 16201.检查你的磁盘剩余空间是否足够,如果没有磁盘剩余空间,则清理 ... -
net use 发生系统错误67,找不到网络名
2010-12-29 10:56 16746局域网中有两台电脑 A ... -
反思SQL的or连接词
2010-12-17 18:04 1127下午在调试程序的时候一个诡异的现象,删除单据后被删除的单据依然 ... -
尝试在数据库 5 中提取逻辑页 (1:1640) 失败。该逻辑页属于分配单元XXX ,而非 XXX。
2010-12-02 16:15 4244此信息表明数据库或表 已经部分损坏可以通过以下步骤尝试修复: ... -
win7 安装sql2000
2010-11-22 11:56 1418win7下安装sql2000的要点: 1、以管理员身份运行 m ... -
数据库日志已满
2010-11-09 13:37 839今天去查询历史库存表,发现6天的记录都没有被自动保存,运行备份 ... -
关于解决SQLServer 2005安装时的COM+目录要求问题
2010-09-06 21:23 12571、开户MSDTC服务 开始-运行,输入cmd后回车,在命令提 ... -
sql 所有格式时间
2010-09-06 21:16 7661. 当前系统日期、时 ...
相关推荐
SQL 数据表列转换为一行 在数据库管理中,经常会遇到将...这个示例展示了如何使用存储过程、临时表、动态 SQL 语句、 WHILE 循环、CALL 语句、ALTER TABLE 语句和 UPDATE 语句来将 SQL 数据表的一列转换为一行多列。
DB2 SQL 通过函数(CONCAT/POSSTR/LOCATE)实现行转列,列转行 可以按照标点把多列转换为一行,多行转换为一列
主要是关于sqlserver的多行转列的问题,这是我经过个人测试的语句。
在SQL Server 2008中,将一列值转换为一个字符串是一个常见的需求,特别是在进行数据汇总或生成报告时。本篇文章将详细介绍如何利用SQL Server 2008中的功能来实现这一需求,并深入探讨背后的原理和技术要点。 ### ...
为了将表中的值从多列转换成单列,我们需要利用到T-SQL中的几个关键函数:`FOR XML AUTO`、`STUFF`等。具体实现步骤如下: - 首先,创建一个新的表`C`,用于存储转换后的数据。 - 使用`SELECT DISTINCT`获取所有...
在SQL数据库操作中,"行转列"是一种常见的数据转换需求,它将表格中的多行数据转换为单列显示,通常用于数据汇总和分析。在本案例中,我们主要探讨如何使用SQL语句,尤其是存储过程,来实现动态的行转列功能。这在...
该标题表明文章主要介绍在SQL中如何通过一个通用的存储过程实现列数据转化为行数据(列转行),或者反过来将行数据转化为列数据(行转列)。这两种转换方式在处理多维度数据分析时十分常见。 ### 描述解析:SQL列...
SQL 语句行列转换是数据库管理系统中的一种常见操作,它可以将数据从行转换为列,或者从列转换为行。在这个过程中,需要使用数据库管理语言(Database Management Language,DML)来实现数据的转换。下面我们将详细...
其中,“行转列”(Pivot)是一种常见的数据转换方式,它能够将数据表中的某列或多列值转换为多列的形式展现,从而方便进一步的数据分析与展示。本文主要介绍一种利用SQL语句中的`UNION ALL`来实现“行转列”的方法...
“行转列”是将数据表中的一行数据转换为多列显示,反之,“列转行”则是将一列数据转化为多行展示。这两种操作在处理宽表和长表之间的转换时特别有用,例如,当需要将多个具有相同属性的数据项合并到同一列或者将...
列转行是将多列的数据转换为单列,并增加一个标识列来区分原列信息。这通常可以通过`UNPIVOT`操作或者使用`UNION ALL`来实现。例如,如果我们有一个人口统计表,包含不同年龄段的人口数量,现在想要将这些数据合并成...
在SQL Server中,"行转列"是一种常见的数据操作,它可以帮助我们把表格中的多行数据转换成一列,或者将某一列的数据转换为多列显示。这种技术在数据分析、报表制作以及信息展示中非常实用。本文将详细介绍SQL Server...
行转列结构是指将多个列合并为一列,行中有共同特征的数据。这种方法通常用于将多个课程或项目合并为一个单一的列。在 SQL 中,我们可以使用 UNION ALL 语句来实现这种操作。例如: ```sql SELECT 学号, 课程='语文'...
在数据库操作中,行转列(Pivot)是一种将数据表中的行数据转换为列数据的技术。这种技术通常用于改变数据的结构,使得原始数据更适合进一步的数据分析或报告需求。 #### 知识点二:为什么要进行行转列? 1. **...
这种转换技术被称为“行转列”或“透视”(Pivot),而在SQL语言中实现这一功能,最常用的方法便是利用PIVOT函数。本文将深入探讨如何使用SQL中的PIVOT函数将表格数据由行格式转换为列格式,并通过具体案例进行详细...
在SQL查询中,表的行列转换以及一行数据转换成两列是常见的操作,尤其是在数据分析和报表展示时。本文将详细讲解这些概念,并提供相应的SQL语句示例。 首先,我们从创建数据库表及插入数据开始。在例子中,创建了一...
列转行是将多列数据转换为单列,每行包含原始列的一个值。MySQL 可以通过 UNION ALL 或 CROSS JOIN 实现这一操作。继续使用 `sales` 表为例,如果要将年份和销售额转为行,可以这样操作: ```sql SELECT product_id...