RSS订阅王佳明的个人网站
你现在的位置:首页 / 技术 / 正文

SQL数据行转列

0 技术 | 2018年11月16日

 代码如下:

 /******有表 ##shenji 结构如下**********/
 create table ##shenji(
docdate datetime,
warehouse varchar(50),
eqty decimal(19,6),
esum decimal(19,6)
)

 

/******前面用各显神通的方法获取上述结构的数据源**********/


declare @sql varchar(max)

select @sql=isnull(@sql+',','')+'sum(case docdate when '''+convert(char(10),docdate,120)+''' then eqty  else 0 end )
['+convert(char(10),docdate,120)+'数量],'
+'sum(case docdate when '''+convert(char(10),docdate,120)+''' then eSum  else 0 end )
['+convert(char(10),docdate,120)+'金额]'
from (select distinct docdate from ##shenji) as a
/*这里的@sql获取了行转列的表头的SQL 包含了聚合函数*/
set @sql='select   warehouse 仓库,'+@sql+'from ##shenji group by warehouse'

exec (@sql)

 

数据源:

 

得到结果:

推荐您阅读更多有关于“ SQL   ”的文章

以上内容如果对你有用,请收藏。
上一篇:虚拟化与PLM下一篇:office 2007每次打开提示配置进度

猜你喜欢

评论列表:

官方LOGO
    佳明one

    我们的使命是减少资金、技术和
    教育方面的障碍,以提供有效的
    IT科技支援。。。。。。。。。

    5ubg


    扫码从手机访问


网站分类
友情链接