深爱那片海 发表于 2015-1-16 22:18:27

MSSQL网页设计SQL交织表实例

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



SQL交织表实例

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

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

--交织表实例

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

建表:

在查询剖析器里运转:

CREATETABLE(

IDENTITY(1,1)NOTNULL,

(50)COLLATEChinese_PRC_CI_ASNULL,

(50)COLLATEChinese_PRC_CI_ASNULL,

(18,0)NULL

)ON

GO

INSERTINTO(,,)values(N张三,N语文,60)

INSERTINTO(,,)values(N李四,N数学,70)

INSERTINTO(,,)values(N王五,N英语,80)

INSERTINTO(,,)values(N王五,N数学,75)

INSERTINTO(,,)values(N王五,N语文,57)

INSERTINTO(,,)values(N李四,N语文,80)

INSERTINTO(,,)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语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!

爱飞 发表于 2015-2-13 04:28:49

我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力

小魔女 发表于 2015-3-3 14:37:10

理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识

兰色精灵 发表于 2015-3-11 11:41:10

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。

金色的骷髅 发表于 2015-3-18 15:04:01

需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。

若相依 发表于 2015-3-26 10:36:51

这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
页: [1]
查看完整版本: MSSQL网页设计SQL交织表实例