上次写了个比较简单的只有两个字段的例子,经要求在写个  3 个字段的示例 ,贴上来与大家共勉一下   如果你们有更好的方法,提供一下, 感激不尽。

示例如下:

/*
--drop table temp_TestCol_ValueToName;
-- 创建测试表 (前提 每天每个会员只有一条记录)
create table temp_TestCol_ValueToName
(
userName nvarchar(50), -- 会员名
myMoney money, -- 金额
addTime datetime -- 时间
)
-- 添加测试数据
insert into temp_TestCol_ValueToName values('张三',10,'2013-11-01')
insert into temp_TestCol_ValueToName values('张三',40,'2013-11-02')
insert into temp_TestCol_ValueToName values('张三',1,'2013-11-03')
insert into temp_TestCol_ValueToName values('张三',6,'2013-11-04')
insert into temp_TestCol_ValueToName values('李四',40,'2013-11-02')
insert into temp_TestCol_ValueToName values('李四',100,'2013-11-03')
insert into temp_TestCol_ValueToName values('李四',60,'2013-11-06')

*/
-- 预测查询结果
-- userName 1 2 3 4 6
-- 张三 10 40 1 6 0
-- 李四 0 40 100 0 60

-- 查询结果
declare @sql nvarchar(max)='', -- 组装的sql语句
@month varchar(7)='2013-11'; -- 需要查询的年月(只需要改变这个值)
select @sql=@sql+ (case @sql when '' then '' else ',' end)
+'max(case DAY(addTime) when '+CAST(d as varchar)+' then myMoney else 0 end) ['+CAST(d as varchar)+']'
from (select distinct DAY(addTime) d from temp_TestCol_ValueToName where CONVERT(varchar(7),addTime,120)=@month) a;
set @sql='select userName [userName],'+@sql+' from temp_TestCol_ValueToName where CONVERT(varchar(7),addTime,120)='''+@month+''' group by userName;';
exec sp_executesql @sql;

SQL Server 表字段值转换成字段名称(二)的更多相关文章

  1. SQL Server 表字段值转列名 示例

    前几天,同事问我怎样把字段值转换成字段列,就写了一个最简单的Demo分享一下. 代码如下: -- 创建测试表以及添加测试数据create table #temp(a money,b varchar(1 ...

  2. sql 在将 nvarchar 值 转换成数据类型 int 时失败。

    假设有存储过程:proc_test2 create proc proc_test2 @Id int begin as declare @sql varchar(max) @sql = 'select ...

  3. 修改sql server表字段的字符串

    网站标题被注入黑链接,使用sql脚本update修改字段内的字符串截取UPDATE [qds0460132_db].[dbo].[Blood_News]   SET [Blood_Name] = SU ...

  4. 获得、修改 SQL Server表字段说明

    SELECT ( then d.name else '' end) 表名, a.colorder 字段序号, a.name 字段名, g.[value] AS 字段说明 FROM syscolumns ...

  5. sql server like 在将值转换成数据类型int失败

    select * from table where title like '%'?'%'; 采用? 传参会报错:sql server like 在将值转换成数据类型int失败 select * fro ...

  6. SQL3120W 不能将xx的字段值转换成 INTEGER值

    一次用DB2 Load/Import导入数据时,报错,提示SQL3120W 不能将xx的字段值转换成 INTEGER值,但目标列不可为空.未装入该行. 目标表: CREATE TABLE TEST( ...

  7. SQL Server日期时间格式转换字符串详解 (详询请加qq:2085920154)

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  8. SQL Server日期时间格式转换字符串

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  9. SQL Server日期时间格式转换字符串详解

    本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助. 在SQL Server数据库中,SQL Server日期时间格 ...

随机推荐

  1. SCP和SFTP(都使用SSH。但SCP上传不能中断,而SFTP可以续传,这是最大区别)

    不管SCP还是SFTP,都是SSH的功能之一.都是使用SSH协议来传输文件的. 不用说文件内容,就是登录时的用户信息都是经过SSH加密后才传输的,所以说SCP和SFTP实现了安全的文件传输. SCP和 ...

  2. uva 11731 - Ex-circles

    题意:已知三角形ABC的3条边长,求三角形ABC 的面积,以及阴影部分的总面积. #include<iostream> #include<cstdio> #include< ...

  3. C语言的static和extern关键字

    我的博客:www.while0.com 如果A.c要包含B.c里的一个变量或函数,则在A.c中要用extern关键字声明.注意: ①如果是包含的B.c里的函数,则在A.c里声明的时候可以不写exter ...

  4. IEEE 802

    IEEE 802又称为LMSC(LAN /MAN Standards Committee, 局域网/城域网标准委员会), 致力于研究局域网和城域网的物理层和MAC层中定义的服务和协议, 对应OSI网络 ...

  5. Linux Kernel ‘perf’ Utility 本地提权漏洞

    漏洞名称: Linux Kernel ‘perf’ Utility 本地提权漏洞 CNNVD编号: CNNVD-201309-050 发布时间: 2013-09-09 更新时间: 2013-09-09 ...

  6. SPOJ-COT-Count on a tree(树上路径第K小,可持久化线段树)

    题意: 求树上A,B两点路径上第K小的数 分析: 同样是可持久化线段树,只是这一次我们用它来维护树上的信息. 我们之前已经知道,可持久化线段树实际上是维护的一个前缀和,而前缀和不一定要出现在一个线性表 ...

  7. 【狼】unity3d point light 个数限制更改

      unity默认的pointlight个数为2个,多加的话先加的就没有效果, 具体更改方式如下: Edit -> Project Settings -> Quality-> Ren ...

  8. 低压差稳压器AMS1585

    (1)高效线性稳压. (2)输出高达4.6A,最高输入电压15V,推荐最低压差1.5V(最低1.35V),最大压差12V. (3)两种封装:TO220(直插式),TO230(贴片). 典型电路如下图所 ...

  9. yarn的初步理解

    查考site: http://hadoop.apache.org/docs/r2.6.0/hadoop-yarn/hadoop-yarn-site/YARN.html yarn结构图如下: 1.yar ...

  10. Bzoj 2718: [Violet 4]毕业旅行 && Bzoj 1143: [CTSC2008]祭祀river 传递闭包,二分图匹配,匈牙利,bitset

    1143: [CTSC2008]祭祀river Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1878  Solved: 937[Submit][St ...