当前位置: 首页 > news >正文

成都网站开发外包运维工程师累吗

成都网站开发外包,运维工程师累吗,专业做网站,大型网站seo课程SQL Server中行列转换 Pivot UnPivot PIVOT用于将列值旋转为列名#xff08;即行转列#xff09;#xff0c;在SQL Server 2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是#xff1a;PIVOT(聚合函数(列) FOR 列 in (…) )AS P 完整语法#xff1a; table_source PI… SQL Server中行列转换 Pivot UnPivot PIVOT用于将列值旋转为列名即行转列在SQL Server 2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是PIVOT(聚合函数(列) FOR 列 in (…) )AS P 完整语法 table_source PIVOT( 聚合函数value_column FOR pivot_column IN(column_list) ) UNPIVOT用于将列明转为列值即列转行在SQL Server 2000可以用UNION来实现 完整语法 table_source UNPIVOT( value_column FOR pivot_column IN(column_list) )  注意PIVOT、UNPIVOT是SQL Server 2005 的语法使用需修改数据库兼容级别在数据库属性-选项-兼容级别改为   90  典型实例 一、行转列 1、建立表格 createtabletb(姓名varchar(10),课程varchar(10),分数int) insertintotbvalues(张三,语文,74)insertintotbvalues(张三,数学,83)insertintotbvalues(张三,物理,93)insertintotbvalues(李四,语文,74)insertintotbvalues(李四,数学,84)insertintotbvalues(李四,物理,94) select*fromtb   姓名       课程       分数 ---------- ---------- ----------- 张三       语文        74 张三       数学        83 张三       物理        93 李四       语文        74 李四       数学        84 李四       物理        94   2、使用SQL Server 2000静态SQL select姓名, max(case课程when语文then分数else0end)语文, max(case课程when数学then分数else0end)数学, max(case课程when物理then分数else0end)物理 fromtb groupby姓名 姓名       语文        数学        物理 ---------- ----------- ----------- ----------- 李四        74          84          94 张三        74          83          93   3、使用SQL Server 2000动态SQL --SQL SERVER 2000动态SQL,指课程不止语文、数学、物理这三门课程。(以下同) --变量按sql语言顺序赋值 declaresqlvarchar(500) setsqlselect姓名 selectsqlsql,max(case课程when 课程 then分数else 0 end)[课程] from(selectdistinct课程fromtb)a--同from tb group by课程默认按课程名排序 setsqlsql from tb group by姓名 exec(sql)   --使用isnull(),变量先确定动态部分 declaresqlvarchar(8000) selectsqlisnull(sql,,) max(case课程when 课程 then分数else 0 end) [课程] from(selectdistinct课程fromtb)asa      setsqlselect姓名,sql from tb group by姓名 exec(sql) 姓名       数学        物理        语文 ---------- ----------- ----------- ----------- 李四        84          94          74 张三        83          93          74   4、使用SQL Server 2005静态SQL select*fromtb pivot(max(分数)for课程in(语文,数学,物理))a   5、使用SQL Server 2005动态SQL --使用stuff() declaresqlvarchar(8000) setsql  --初始化变量sql selectsqlsql,课程fromtbgroupby课程--变量多值赋值 setsqlstuff(sql,1,1,)--去掉首个, setsqlselect * from tb pivot (max(分数) for课程in (sql))a exec(sql)   --或使用isnull() declaresqlvarchar(8000) –-获得课程集合 selectsqlisnull(sql,,)课程fromtbgroupby课程           setsqlselect * from tb pivot (max(分数) for课程in (sql))a exec(sql)   二、行转列结果加上总分、平均分 1、使用SQL Server 2000静态SQL --SQL SERVER 2000静态SQL select姓名, max(case课程when语文then分数else0end)语文, max(case课程when数学then分数else0end)数学, max(case课程when物理then分数else0end)物理, sum(分数)总分, cast(avg(分数*1.0)asdecimal(18,2))平均分 fromtb groupby姓名 姓名       语文        数学        物理        总分        平均分 ---------- ----------- ----------- ----------- ----------- 李四        74          84          94          252         84.00 张三        74          83          93          250         83.33   2、使用SQL Server 2000动态SQL --SQL SERVER 2000动态SQL declaresqlvarchar(500) setsqlselect姓名 selectsqlsql,max(case课程when 课程 then分数else 0 end)[课程] from(selectdistinct课程fromtb)a setsqlsql,sum(分数)总分,cast(avg(分数*1.0) as decimal(18,2))      平均分from tb group by姓名 exec(sql)   3、使用SQL Server 2005静态SQL selectm.*,n.总分,n.平均分 from (select*fromtb pivot(max(分数)for课程in(语文,数学,物理))a)m, (select姓名,sum(分数)总分,cast(avg(分数*1.0)asdecimal(18,2))平均分 fromtb groupby姓名)n wherem.姓名n.姓名   4、使用SQL Server 2005动态SQL --使用stuff() -- declaresqlvarchar(8000) setsql  --初始化变量sql selectsqlsql,课程fromtbgroupby课程--变量多值赋值 --同select sql sql ,课程from (select distinct课程from tb)a setsqlstuff(sql,1,1,)--去掉首个, setsqlselect m.* , n.总分,n.平均分from (select * from (select * from tb) a pivot (max(分数) for课程in (sql)) b) m , (select姓名,sum(分数)总分, cast(avg(分数*1.0) as decimal(18,2))平均分from tb group by姓名) n where m.姓名 n.姓名 exec(sql)   --或使用isnull() declaresqlvarchar(8000) selectsqlisnull(sql,,)课程fromtbgroupby课程 setsqlselect m.* , n.总分,n.平均分from (select * from (select * from tb) a pivot (max(分数) for课程in ( sql)) b) m , (select姓名,sum(分数)总分, cast(avg(分数*1.0) as decimal(18,2))平均分from tb group by姓名) n where m.姓名 n.姓名 exec(sql)   二、列转行 1、建立表格 ifobject_id(tb)isnotnulldroptabletb go createtabletb(姓名varchar(10),语文int,数学int,物理int) insertintotbvalues(张三,74,83,93) insertintotbvalues(李四,74,84,94) go select*fromtb go 姓名       语文        数学        物理 ---------- ----------- ----------- ----------- 张三       74          83          93 李四        74          84          94   2、使用SQL Server 2000静态SQL --SQL SERVER 2000静态SQL。 select*from ( select姓名,课程语文,分数语文fromtb unionall select姓名,课程数学,分数数学fromtb unionall select姓名,课程物理,分数物理fromtb ) t orderby姓名,case课程when语文then1when数学then2when物理then3end 姓名       课程分数 ---------- ---- ----------- 李四       语文 74 李四       数学 84 李四       物理 94 张三       语文 74 张三       数学 83 张三       物理 93   2、使用SQL Server 2000动态SQL --SQL SERVER 2000动态SQL。 --调用系统表动态生态。 declaresqlvarchar(8000) selectsqlisnull(sql union all ,) select姓名, [课程] quotename(Name,) , [分数] quotename(Name) from tb fromsyscolumns whereName!姓名andIDobject_id(tb)--表名tb不包含列名为姓名的其他列 orderbycolid exec(sql order by姓名) go   3、使用SQL Server 2005静态SQL --SQL SERVER 2005动态SQL select姓名,课程,分数fromtb unpivot (分数for课程in([语文],[数学],[物理])) t   4、使用SQL Server 2005动态SQL --SQL SERVER 2005动态SQL declaresqlnvarchar(4000) selectsqlisnull(sql,,)quotename(Name) fromsyscolumns whereIDobject_id(tb)andNamenotin(姓名) orderbyColid setsqlselect姓名,[课程],[分数] from tb unpivot ([分数] for [课程] in(sql))b exec(sql) 该文章经过本人整理所得,欢迎转载,转载时请加上本文地址;本文基于署名 2.5 中国大陆许可协议发布请勿演绎或用于商业目的但是必须保留本文的署名张志涛包含链接如您有任何疑问或者授权方面的协商请给我留言。 转载于:https://www.cnblogs.com/edword/archive/2013/04/28/3048549.html
http://www.pierceye.com/news/744960/

相关文章:

  • 学校网站英文怎么做souq网站
  • 原油可以取什么做标题发网站免费建网站哪个好
  • 莱特币做空 网站一个虚拟主机可以放几个网站
  • 注册个体可以做网站吗太平洋建设集团有限公司
  • 餐饮环境评估在哪个网站做天元建设集团有限公司法人
  • 汽车租赁网站开发网站建设实验周志与总结
  • 有没有哪个做美食的网站wordpress多用户模版
  • 网站关键词几个justnews wordpress
  • 创维爱内购网站2017网站设计尺寸
  • 网站建设的一般过程包括哪些方面手机免费制作app的软件下载
  • dw对网站建设有哪些作用深圳团购网站设计多少钱
  • 阿里巴巴网站详情页怎么做龙岩公司做网站
  • 网站后台这么做视频教程佛山百度seo排名
  • 网站建立吸引人的策划活动适合做推广的平台
  • 无锡市住房和城乡建设局网站昆明做网站的网络公司
  • 家居seo整站优化方案已经有了网站源代码怎样搭建
  • 红河州网站建设对网站做维护
  • 网站建设5000费用预算wordpress 鼠标点击特效
  • 江门企业自助建站系统做网站诱导网站
  • 知识问答网站开发南昌建站
  • 开发网站需要租服务器网易企业邮箱如何申请注册
  • 青岛市黄岛区城市建设局网站南京建设监理协会网站
  • 网站设计要点做网站的是什么职业
  • 造型设计网站推荐哪些企业网站做得好
  • 东丰网站建设网络域名怎么注册
  • 行业网站模板装饰公司东莞网站建设
  • 成都政务网站建设电脑编程与网站建设
  • 描述电子商务网站建设网站开发教程H5
  • 个人做电影网站有什么风险招聘网站制作公司
  • 安徽网站推广公司网站集群建设参数