仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1014|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页设计SQL交织表实例

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:18:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
优化的SQL查询算法,有效地提高查询速度版权声明:CSDN是本Blog托管服务供应商。如本文扳连版权成绩,CSDN不承当相干义务,请版权具有者间接与文章作者接洽办理。



SQL交织表实例

很复杂的一个器材,见网上很多多少伴侣问“怎样完成交织表?”,以下是我写的一个例子,数据库基于SQLSERVER2000。

--======================================================

--交织表实例

--======================================================

建表:

在查询剖析器里运转:

CREATETABLE[Test](

[id][int]IDENTITY(1,1)NOTNULL,

[name][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,

[subject][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,

[Source][numeric](18,0)NULL

)ON[PRIMARY]

GO

INSERTINTO[test]([name],[subject],[Source])values(N张三,N语文,60)

INSERTINTO[test]([name],[subject],[Source])values(N李四,N数学,70)

INSERTINTO[test]([name],[subject],[Source])values(N王五,N英语,80)

INSERTINTO[test]([name],[subject],[Source])values(N王五,N数学,75)

INSERTINTO[test]([name],[subject],[Source])values(N王五,N语文,57)

INSERTINTO[test]([name],[subject],[Source])values(N李四,N语文,80)

INSERTINTO[test]([name],[subject],[Source])values(N张三,N英语,100)

Go



450)this.width=450"o:title="sql2">

交织表语句的完成:

--用于:交织表的列数是断定的

selectname,sum(casesubjectwhen数学thensourceelse0end)as数学,

sum(casesubjectwhen英语thensourceelse0end)as英语,

sum(casesubjectwhen语文thensourceelse0end)as语文

fromtest

groupbyname





--用于:交织表的列数是不断定的

declare@sqlvarchar(8000)

set@sql=selectname,



select@sql=@sql+sum(casesubjectwhen+subject+

thensourceelse0end)as+subject+,

from(selectdistinctsubjectfromtest)asa



select@sql=left(@sql,len(@sql)-1)+fromtestgroupbyname

exec(@sql)

go



运转了局:

450)this.width=450"o:title="sql">
提供用于管理、检查、优化数据库操作的管理工具。
活着的死人 该用户已被删除
沙发
发表于 2015-1-19 07:32:03 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
飘飘悠悠 该用户已被删除
板凳
发表于 2015-1-28 05:39:00 来自手机 | 只看该作者
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
老尸 该用户已被删除
地板
发表于 2015-2-5 17:36:58 | 只看该作者
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
爱飞 该用户已被删除
5#
发表于 2015-2-13 04:28:49 | 只看该作者
我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力
小魔女 该用户已被删除
6#
发表于 2015-3-3 14:37:10 | 只看该作者
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
兰色精灵 该用户已被删除
7#
发表于 2015-3-11 11:41:10 | 只看该作者
记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
金色的骷髅 该用户已被删除
8#
发表于 2015-3-18 15:04:01 | 只看该作者
需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。
若相依 该用户已被删除
9#
发表于 2015-3-26 10:36:51 | 只看该作者
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表