在Microsoft SQL Server 2008中,将一张表的某列的值转换为列名称
来源:互联网 发布:硬盘 检测 软件 编辑:程序博客网 时间:2024/06/05 00:00
步骤一:创建测试表
create table test
(部门 varchar(10),
客户 varchar(10),
费用名称 varchar(10),
金额 int
)
步骤二:插入测试数据
insert into test values ('A','a','手机费',10)
insert into test values ('A','a','办公费',11)
insert into test values ('A','a','公交费',9)
insert into test values ('A','b','手机费',10)
insert into test values ('A','b','办公费',10)
insert into test values ('A','c','公交费',10)
insert into test values ('B','d','手机费',10)
insert into test values ('B','d','办公费',11)
insert into test values ('B','e','公交费',9)
insert into test values ('B','f','手机费',10)
insert into test values ('B','f','办公费',10)
insert into test values ('B','f','公交费',10)
select * from test
步骤三:实现行列转换(基于费用名称列)
declare @sql varchar(4000)
set @sql = 'select [部门],[客户]'
select @sql = @sql + ',sum(isnull(case [费用名称] when '''+[费用名称]+''' then [金额] end,0)) as
['+[费用名称]+']'
from (select distinct [费用名称] from [test]) as a
select @sql = @sql+' from [test] group by [部门],[客户]'
exec(@sql)
- 在Microsoft SQL Server 2008中,将一张表的某列的值转换为列名称
- SQL Server中类型转换(将varchar值转换为数据类型为int的列时发生语法错误)
- 使用一句 sql 实现将一张表中的某一列的值复制到另一列中。
- sql将列转换为以逗号分隔的字符串
- 在sql查询语句中添加表中不存在的列,并为其列值为固定值
- 解决SQL将varchar值转换为数据类型为int的列时发生语法错误
- 解决SQL将varchar值转换为数据类型为int的列时发生语法错误
- SQL Server 批量更新字段值为ROW_NUMBER()+列名称
- SQL SERVER将某一列字段中的某个值替换为其他的值
- sql server 将列的不同值转化为不同行
- Sql server 列更新,值来自于另一表的列
- 将一个表中的某列的值全部更新为与另一表中某一列的值相等
- sql server 2005 中数据库表 的创建 ,查看表 属性,表的名称重命名,情况表中信息,删除表 ; 表中列重命名,添加新列,修改列的数据类型,删除列,设置列的主键外键
- 怎样将SQL SERVER表里的数据插入到Access表的指定列中?
- 一条sql语句(关于将一个表里的数据汇总,更新数据库中的另外一张表的列值
- 将SQL SERVER中所有表或某一个表的列信息显示出来
- 将SQL SERVER中所有表的列信息显示出来〔总结〕
- 将SQL Server中所有表的列信息显示出来
- APP漏洞自动化扫描专业评测报告(上篇)
- github开源库
- 按键精灵教程-开发入门简单教程
- linux中将mongo作为系统服务启动
- 日期转换工具包(DateUtil)
- 在Microsoft SQL Server 2008中,将一张表的某列的值转换为列名称
- HDU 3951 Coin Game (博弈论、对称性)
- Ajax实现异步请求的整个过程
- (九)maven核心概念-坐标
- C++类所占内存大小计算,sizeof关键字
- JS 字符串操作API
- 小红书架构演进
- Linux进程间通信——使用信号
- Mac下修改Android Studio的默认JDK版本,与eclipse产生的问题冲突