仓酷云
标题:
MSSQL网站制作之行列转换
[打印本页]
作者:
飘飘悠悠
时间:
2015-1-16 22:23
标题:
MSSQL网站制作之行列转换
Merge将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用转换
1.行列转换--一般
假定有张先生成就表(CJ)以下
[姓名][学科][成就]
张三语文80
张三数学90
张三物理85
李四语文85
李四数学92
李四物理82
王五数学60
想酿成
[姓名][语文][数学][物理]
张三809085
李四859282
王五null60null
declare@sqlvarchar(4000)
set@sql=select姓名
select@sql=@sql+,sum(case学科when学科then成就end)as学科
from(selectdistinct学科fromCJ)asa
set@sql=@sqlfromcjgroupby姓名
exec(@sql)
2.行列转换--兼并
有表A,
idpid
11
12
13
21
22
31
怎样化成表B:
idpid
11,2,3
21,2
31
创立一个兼并的函数
createfunctionfmerg(@idint)
returnsvarchar(8000)
as
begin
declare@strvarchar(8000)
set@str=
select@str=@str,cast(pidasvarchar)from表Awhereid=@id
set@str=right(@str,len(@str)-1)
return(@str)
end
go
--挪用自界说函数失掉了局
selectdistinctid,dbo.fmerg(id)from表A
优化的SQL查询算法,有效地提高查询速度
作者:
小女巫
时间:
2015-1-19 10:09
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
作者:
仓酷云
时间:
2015-1-26 21:41
而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
作者:
愤怒的大鸟
时间:
2015-2-10 13:01
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
作者:
金色的骷髅
时间:
2015-3-1 11:05
对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。
作者:
因胸联盟
时间:
2015-3-10 16:48
外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。
作者:
深爱那片海
时间:
2015-3-17 09:09
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
作者:
分手快乐
时间:
2015-3-24 05:13
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2