易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL经典行转列

--测试表
create table tb_month
(monthid varchar(2),mongthName varchar(50))
insert into tb_month
select '01','一月'
union all select '02','二月'
union all select '03','三月'
union all select '04','四月'
union all select '05','五月'
union all select '06','六月'
union all select '07','七月'
union all select '08','八月'
union all select '09','九月'
union all select '10','十月'
union all select '11','十一月'
union all select '12','十二月'
create table tb_salelist
(SaleDt datetime,Qty numeric(10,4) )
insert into tb_salelist(SaleDt,Qty)
values ('2010-05-10',10)
--SQL2005行转列
DECLARE @V_col varchar(max)
set @V_col=''
SELECT @V_col=@V_col+'['+mongthName+'],' from tb_month
set @V_col=left(rtrim(@V_col),len(rtrim(@V_col))-1)
print @V_col
exec(
'select '+@V_col+'
from
(select tb.mongthName,Ta.Qty from tb_salelist ta,tb_month tb
where tb.monthid=month(ta.SaleDt)) as tk
pivot (sum(qty) for mongthName in ('+@V_col+')) as p')
--SQL2000行转列
select sum(case mongthName when '一月' then Qty else 0 end),
       sum(case mongthName when '二月' then Qty else 0 end),
       sum(case mongthName when '二月' then Qty else 0 end),
from (select tb.mongthName,Ta.Qty from tb_salelist ta,tb_month tb
where tb.monthid=month(ta.SaleDt)) as tk
declare @v_Col varchar(max),@v_sql varchar(max)
set @v_Col=''
select @v_Col=@v_Col+'sum(case mongthName when'+''''+mongthName+''''+'then Qty else 0 end) as ['+ mongthName +']'+',' from tb_month
set @v_Col=left(@v_Col,len(@v_Col)-1)
print @v_Col
set @v_sql='select '+@v_Col+' from (select tb.mongthName,Ta.Qty from tb_salelist ta,tb_month tb
where tb.monthid=month(ta.SaleDt)) as t'
exec(@v_sql)
--学生成绩排序
create  table tb_Student
( stid varchar(4),
  stidName varchar(50),
  sex char(1) )
insert into tb_Student(stid,stidName,sex)
select '0001','张三54','1'
union all select '0002','张的','1'
union all select '0003','张1','0'
uni


相关文档:

SQL Server 2005升级的10个理由

SQL Server 2005升级的10个理由
 很多人关心的和担心的都是 SQL Server 2005 相对它的前版本SQL Server 2000所做的重大改进或新增功能。在我升级到SQL2005之后,不得不说的:你也值得拥有。(套用一句广告语,呵呵)
  我总结了一下个人认为SQL Server 2005 中最值得你为之升级的10 个理由。无论你是想了解或学习SQL Se ......

SQL Server索引管理之六大铁律


原文转自:http://tech.it168.com/a2009/0218/265/000000265868.shtml
索引是以表列为基础的数据库对象。索引中保存着表中排序的索引列,并且纪录了索引列在数据库表中的物理存储位置,实现了表中数据的逻辑排序。通过索引,可以加快数据的查询速度和减少系统的响应时间;可以使表和表之间的连接速度加快。
  但是, ......

SQL Server 行列转换

在SQL SERVER中,有时需要合多列值到行的需求,常见的方法有:1.创建自定义函数,2.使用游标法进行字符串合并。3.使用临时表实现字符串合并。 数据: DEPTNO EMPS
------ ----------
10 CLARK
10 KING
10 MILLER
20 SMITH
20 ADAMS
20 FORD
20 SCOTT
20 JONES
30 ALLEN
30 BLAKE
30 MARTIN
30 JAMES
30 ......

用户sa登录失败,该用户与可信sql server连接无关联

这个有可能是你在安装SQL SERVER2005的时候验证模式没有设置好.
1.选中服务器(右键)->属性->安全性->服务器身份验证修改为"SQL SERVER和WINDOWS身份验证模式"
2.展开服务器上的"安全性"->登陆名->选中SA登陆帐号(右键)->状态->登陆修改为启用.
 
安装完SQL Server后,可以用Windows身份 ......

SQL Server视图管理中的限制条件


 
 
原创 沉沦 2010-02-09
  通过视图来访问数据,其优点是非常明显的。如可以起到数据保密、保证数据的逻辑独立性、简化查询操作等等。
  但是,话说回来,SQL Server数据库中的视图并不是万能的,它跟表这个基本对象还是有重大的区别。在使用视图的时候,需要遵守四大限制。
  限制条件一:视图 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号