- 浏览: 217665 次
- 性别:
- 来自: 江西
-
文章分类
- 全部博客 (109)
- C# (29)
- ASP.NET (30)
- MSSQL (29)
- javascript (9)
- cmd (3)
- ORACLE (4)
- log4j (1)
- window (5)
- FTP (1)
- Shell (1)
- java (1)
- IIS (7)
- html (11)
- SQL (3)
- Jquery (11)
- IE (3)
- 火狐、谷歌 (2)
- wince (2)
- JSON (5)
- List (1)
- Foreach (1)
- SQLhelper (1)
- Ajax (1)
- Firebird (1)
- mysql (7)
- js (2)
- jQuery.autocomplete (1)
- dataTable (1)
- Http (1)
- get (1)
- datetime (1)
- powshell (1)
- URL Protocol (1)
- Office (1)
- Excel (1)
- ASP.NET,算法,秘钥 (1)
- 浏览器 (1)
- Tomcat (1)
最新评论
CREATE TABLE TEST
(
SID VARCHAR(5) NOT NULL,COURSE NVARCHAR(10) NOT NULL, RESULT INT NOT NULL
)
INSERT INTO TEST VALUES('0001','语文',80)
INSERT INTO TEST VALUES('0001','数学',85)
INSERT INTO TEST VALUES('0001','英语',70)
INSERT INTO TEST VALUES('0001','政治',60)
解决方案1:
declare @sql varchar(8000)
set @sql='select sid'
select @sql=@sql+','+COURSE+
'=isnull
(
sum(
case course
when
'''+COURSE+'''
then
result end
)
,
0)'
from TEST order by SID
set @sql=@sql+' from TEST group by sid order by sid '
print @sql
exec(@sql)
解决方案2
select sid,语文=isnull(sum(case course when '语文' then result end),0),
数学=isnull(sum(case course when '数学' then result end),0),
英语=isnull(sum(case course when '英语' then result end),0)
from TEST
group by sid
order by sid:
(
SID VARCHAR(5) NOT NULL,COURSE NVARCHAR(10) NOT NULL, RESULT INT NOT NULL
)
INSERT INTO TEST VALUES('0001','语文',80)
INSERT INTO TEST VALUES('0001','数学',85)
INSERT INTO TEST VALUES('0001','英语',70)
INSERT INTO TEST VALUES('0001','政治',60)
解决方案1:
declare @sql varchar(8000)
set @sql='select sid'
select @sql=@sql+','+COURSE+
'=isnull
(
sum(
case course
when
'''+COURSE+'''
then
result end
)
,
0)'
from TEST order by SID
set @sql=@sql+' from TEST group by sid order by sid '
print @sql
exec(@sql)
解决方案2
select sid,语文=isnull(sum(case course when '语文' then result end),0),
数学=isnull(sum(case course when '数学' then result end),0),
英语=isnull(sum(case course when '英语' then result end),0)
from TEST
group by sid
order by sid:
发表评论
-
用一条insert语句来插入多行数据
2016-05-23 10:35 1762oracle、sqlserver不支持inse ... -
关于distinct 和group by的去重逻辑浅析
2016-05-20 11:06 983在数据库操作中,我们常常遇到需要将数据去重计数的工作。例如: ... -
mysql和mssql关键字key的转义
2016-05-20 10:30 801mysql反引号``,它在键盘的~这个键上,SqlServer ... -
SQL几种分页语句性能对比
2014-03-07 10:35 495SET STATISTICS IO ON select * ... -
MSQL2005以上对象名sysproperties 无效的错误
2014-03-03 11:59 1433在MSSQL2008R2里面执行的时候报错:对象名syspro ... -
IN和EXISTS性能上的区别
2014-02-24 16:46 833在外表大内部小的情况下,EXISTS性能比IN快,如果两个表的 ... -
SQL Server 2000 ——系统表和系统视图
2014-02-17 10:26 1230一、一般存储过程 1、 ... -
新增链接服务器
2014-02-17 10:19 794新增链接服务器 if exists (select * fro ... -
在MSSQL2000里面 对象名 'sys.servers' 无效 服务器: 消息 208,级别 16,状态 1,行 1
2014-02-17 10:12 3217在MSSQL2000里面不支持该 sys.servers查看 ... -
SQL SERVER2008数据库中创建和删除链接服务器
2014-02-11 13:43 5028--在SQL SERVER 2008里,可以按以下的方式建立链 ... -
SQL Server获取某月某季某年最后一天的SQL语
2013-11-25 20:26 1439项目中用到的,获取已知年份的第一天和最后一天,觉得网来的不错, ... -
SQL IO、性能
2013-08-30 09:04 1019转载地址:http://blog.csdn.n ... -
sql中两个日期相减
2013-08-21 13:36 9083sql中两个日期相减 1、相差天数 select trun ... -
SET STATISTICS IO ON和获取表中的所有行
2013-08-14 11:58 717SET STATISTICS IO ON --通过来查看扫描 ... -
SQL CAST和CONVERT区别
2013-08-09 09:06 709一种数据类型的表达式转换为另一种数据类型的表达式。 CAS ... -
图表处理程序配置 [c:\TempImageFiles\] 中的临时目录无效
2013-07-24 11:15 3718图表处理程序配置 [c:\TempImageFiles\] 中 ... -
MS-SQL2005以上的版本解决Syscolumn表中数据不能修改
2013-07-06 11:41 600例如: 在MSSQL2000里面可以获取到相应的数据 获取Tr ... -
asp.net 在webcofig中连接数据库方式
2013-07-02 14:38 7611:window方式验证 <connectionStri ... -
解决用户 'IIS APPPOOL\Classic .NET AppPool' 登录失败 windows 7
2013-07-02 14:31 1151进入iis管理器 本地应用程序池 选中classic. net ... -
分页效果
2013-05-20 19:19 901转载http://jianfulove.iteye.com/b ...
相关推荐
在SQL Server中,实现行转列有多种方法,如PIVOT操作、动态SQL以及使用CASE语句。其中,CASE语句是一种灵活且通用的方法,适用于那些不支持PIVOT或需要动态生成列的场景。CASE语句允许我们在查询中根据条件创建新的...
在本文中,我们将详细介绍 SQL Server 2005 的各种限制,这些限制涵盖了数据库引擎对象、数据表、索引、列、行、字符串、连接、锁、存储过程、触发器、用户定义函数、分区表、索引、统计信息等方面。 数据库引擎...
5. 分析与报表服务:SQL Server Reporting Services (SSRS) 提供了企业级的报表解决方案,可创建交互式报表并进行分发。而SQL Server Analysis Services (SSAS) 则用于构建多维数据模型,支持OLAP(在线分析处理)和...
"SQL 通过行动态生成列"这个主题,就是探讨如何在SQL中实现这种转换,以解决报表中行折列的问题。 在传统的SQL查询中,每一行通常对应一个记录,而列则代表记录的属性。然而,在某些场景下,如报表展示,我们可能...
SQL Server 2005 Reporting Services (SSRS) 是一个服务器端报表解决方案,用于创建、管理和分发包含多种数据源的报表。与水晶报表相比,SSRS提供了更丰富的功能和更灵活的部署选项。用户可以通过Web接口查看和管理...
最近在往SQL Server 2008数据库里插入数据时,有个超过1000条记录集,需要手动插入到一个表里,数据库名为MF,表名为test。 insert into test(name) values (1),(2),(3),(4),(5),(6),…(1001) –这里是1001条...
本文将深入探讨这个问题,并提供相应的解决方法。 首先,我们注意到描述中提到的例子,一个查询语句试图获取`ModifiedDate`在2008年11月26日全天的记录,但意外地包含了2008年11月27日的记录。问题出在datetime数据...
SQLServer 2008中SQL增强之三 Merge(在一条语句中使用Insert,Update,Delete) SQL Server 2008中提供了一个增强的SQL命令Merge,用法参看MSDN:http://msdn.microsoft.com/zh-cn/library/bb510625.aspx。Merge命令...
公用表表达式(CTE,Common Table Expression)是SQL Server中的一个重要特性,它允许你在复杂的查询中定义一个临时的结果集,这个结果集只在当前查询的执行范围内有效。CTE可以用于SELECT、INSERT、UPDATE、DELETE...
SQL(Structured Query Language)是用于管理和处理关系...无论是在简单的数据检索还是在复杂的业务逻辑中,SQL都能提供有效的解决方案。学习和掌握SQL,对于任何涉及到数据库工作的开发者来说,都是必不可少的技能。
这种解决方案对于处理大数据集非常有效,因为它允许我们仅检索所需的新鲜数据,而不是整个数据集,从而提高查询性能。在实际应用中,你可以根据需求调整`@ShowNums`的值,以控制显示的最新记录数量。
此修复方法不仅适用于速达软件,对于使用SQL数据库引擎的其他应用,如用友、金蝶等,遇到类似问题也可参考。 总结来说,修复SQL数据库MDF表出错,主要涉及识别错误表、定位错误行以及在临时数据库中进行修复操作。...
在数据库管理中,确保表中行的固定...总的来说,利用SQL Server的触发器可以有效地保证表中行的固定数量,但这种方法也有其局限性和潜在问题。在实际应用中,应结合业务需求和数据库的最佳实践来选择合适的实现方式。