zoukankan      html  css  js  c++  java
  • 2005的行列转换

    2005的行列转换:

    create table ta(编号 int,人员 varchar(5), 年份 int,月份 int ,[1号] varchar(5), [2号] varchar(5),[3号] varchar(5),[4号] varchar(5))
    insert ta select 1, '张三',2006, 1, '正常', '迟到', '迟到', '事假'
    union all select 2, '张三', 2006, 2, '迟到', '事假', '正常', '正常'
    union all select 3, '李四', 2006, 3, '正常', '正常', '正常', '正常'
    union all select 4, '王五', 2007, 5, '正常', '正常','正常', '正常'

    2005的列转行再行转列:
    declare @sql varchar(4000)
    select @sql=isnull(@sql+',','')+quotename(Orders)
    from ta 
    unpivot
    (orders for [原因] in([1号],[2号],[3号],[4号])
    )as tb group by Orders
    --print @sql
    set @sql='select 编号,人员,年份,月份,'+@sql+
    'from (
    select 编号,人员,年份,月份,原因,Orders
    from ta
    unpivot
    (orders for [原因] in([1号],[2号],[3号],[4号])
    )as tb 
    )tmp
    pivot
    (count(原因) for Orders in('+@sql+')
    )tmp2'
    --print @sql
    exec(@sql)

    编号          人员    年份          月份          迟到          事假          正常
    ----------- ----- ----------- ----------- ----------- ----------- -----------
    1           张三    2006        1           2           1           1
    2           张三    2006        2           1           1           2
    3           李四    2006        3           0           0           4
    4           王五    2007        5           0           0           4

    (4 行受影响)

    http://blog.csdn.net/roy_88/article/details/1509413

  • 相关阅读:
    跨域问题
    vuejs devtools 插件安装
    vue开发环境搭建
    .net core 入门一
    go 基础 处理异常
    go 基础 结构体 接口 访问权限
    【火炉炼AI】机器学习040-NLP性别判断分类器
    【火炉炼AI】机器学习039-NLP文本分类器
    【火炉炼AI】机器学习038-NLP创建词袋模型
    【火炉炼AI】机器学习037-NLP文本分块
  • 原文地址:https://www.cnblogs.com/railgunman/p/6659544.html
Copyright © 2011-2022 走看看