zoukankan      html  css  js  c++  java
  • 动态列 pivot 到表变量

    declare
    @set  nvarchar(max),
    @sql  nvarchar(max)
    declare
    @tablenew table(a float,b float,c float,d float,e float,f float,g float,h float,k float,i float)
    set @set=''
    select @set=@set+'['+calendar.LedgerPeriod+'],' from
    parameter  cross join calendar
     where
     (parameter.year*100+parameter.month)<=calendar.ledgerPeriod
     and
     (
      ((parameter.year+1)*100+(parameter.month+9-12)>= calendar.ledgerPeriod)
     )
    if(len(@set)>1)
     set @set=left(@set,len(@set)-1)

    set @sql=
    '
    select * from
       (
     select
     calendar.LedgerPeriod,
     calendar.WeekNums from
     parameter  cross join calendar
     where
     (parameter.year*100+parameter.month)<=calendar.ledgerPeriod
     and
     (
      ((parameter.year+1)*100+(parameter.month+9-12)>= calendar.ledgerPeriod)
     )
    )as  kkkkkk
    pivot(sum(WeekNums) for LedgerPeriod
    in('+@set+')) as mmm '

    --exec(@sql)

    insert into @tablenew exec(@sql)
    select * from @tablenew

  • 相关阅读:
    k近邻算法
    密码技术小总结
    编码的简单总结
    icmp dos和arp dos 攻击模拟实验
    WPA简单抓包分析
    Iptables实验
    Rabin简单加解密
    response响应数据
    浮动——小米手机案例
    ServletRequest请求详解
  • 原文地址:https://www.cnblogs.com/honkcal/p/2507317.html
Copyright © 2011-2022 走看看