SELECT '小名' AS c1 ,
'小名' AS c2 ,
'小名' AS c3 ,
'小名' AS c4 ,
'小名' AS c5 ,
'小名' AS c6 ,
'小名' AS c8
行转列,列转行是我们在开发过程中经常碰到的问题
行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现。用传统的方法,比较好理解。层次清晰,而且比较习惯。
但是PIVOT 、UNPIVOT提供的语法比一系列复杂的SELECT...CASE 语句中所指定的语法更简单、更具可读性 .
--行转列的静态方案一:CASE WHEN,兼容sql2000
select custid,
3 sum(case when YEAR(orderdate)=2002 then qty end) as [2002],
sum(case when YEAR(orderdate)=2003 then qty end) as [2003],
sum(case when YEAR(orderdate)=2004 then qty end) as [2004]
from orders
group by custid;
--行转列的静态方案二:PIVOT,sql2005及以后版本
select *
from (select custid,YEAR(orderdate) as years,qty from orders) as ord
pivot(sum(qty) for years in([2002],[2003],[2004]))as p
MS SQL SERVER 如何把多列的值 , 变成一列多行 .
行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现。用传统的方法,比较好理解。层次清晰,而且比较习惯。但是PIVOT 、UNPIVOT提供的语法比一系列复杂的SELECT...CASE 语句中所指定的语法更简单、更具可读性 .--行转列的静态方案一:CASE WHEN,兼容sql2000 sele...
MS SQL server - Insert 用法汇总
1. 单个值插入当值与列匹配时,可以直接插入,无需指定列名。2. 多值插入同样,如果列与值的顺序一致,可以一次性插入多行数据。3. 列顺序调整如果插入值的顺序与表中列的顺序不一致,必须明确指定列名。4. 默认值列对于有默认值的列,插入时默认会使用这些值,除非特别指定。5. 自动标识列使用IDEN...
Ms sql server中如何使多个数据库执行同一条查询语句
1. 两种情况,在一台服务器上的多个数据库 2. SQL 如下:select * from 数据库1.dbo.表1 union all select * from 数据库2.dbo.表1 union all select * from 数据库3.dbo.表1 3. 第二中情况,多台服务器上的数据库 4.同样的在SQL Server2005中也可以链接到其他的SQL...
SQL查询的时候有多个满足的条件我只想返回第一个结果就行,该怎么改...
用 top 1来返回一行,用 datediff(day,t1.FcheckDate, getdate())as 账龄 来进行日期相减 Select top 1 u2.fnumber as 仓库代码,u2.FName as 仓库名称,ti.fnumber as 物料代码 ,ti.FName as 物料名称 ,ti.FModel as 型号,u1.FBatchNo as 批号,tm.FName as 基本单位,cast(u1.FQty ...
mssqlserver怎样修改表名,列名,添加表列,删除表列,修改表列类型
选中要修改的表名或列名,再单击左键就可以直接修改表名或列名了 选中表名,右键设计,然后就可以添加表列,删除表列,修改表列类型了,这里也可以修改列名
Sql server中如何删除有默认值的列
,如果这个列有默认值,这样删除列会报错,这时要删除列的默认值。declare @name varchar(20)select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('[表名]') and b.id=a.cdefault and a.name='[列名]' and b.name like 'DF%'exec('alter table article drop ...
mssql中一个表的最大字段数量是多少
sql server 2008一个表的最大字段数是1024个。
mssql数据库表自增长字段怎样重置
方法一:使用TRUNCATE TABLE语句:TRUNCATE TABLE删除表中的所有行,而不记录单个行删除操作,同时重置自增列。TRUNCATE TABLE 在功能上与没有WHERE子句的DELETE语句相同;但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少。方法二:使用DBCC CHECKIDENT语句:DBCC CHECKIDENT在 SQL Server 2008...
SQL server中如何更改排序规则
1、首先新建一个数据库,如图为test。2、可以右键查看该数据库的属性,可以看到他的排序规则等属性,但是无法进行修改。3、创建一个新表,添加一个name字段char(10)类型,4、输入数据后,我们会发现汉字会变成??字符。5、关闭所有已打开的表,首先在数据库上右键,新建查询。6、输入(其中test是刚建...
SQL Server的六种数据移动方法
把数据库的数据文件(* mdf)和日志文件(* ldf)都拷贝到目的服务器 在SQL Server Query Analyzer中用语句进行恢复:EXEC sp_attach_db @dbname = ’test’filename = ’d:mssql data est_data mdf’filename = ’d:mssql data est_log ldf’这样就把test数据库附加到SQL Server中 可以照常使用 ...