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">
提供用于管理、检查、优化数据库操作的管理工具。 SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。) 另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程); 学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了! 我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力 理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识 记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。 需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。 这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
页:
[1]