分享好友 数据库首页 频道列表

sql多表行转列、级联行转列示例代码

SQL Server  2015-07-25 09:370
现有两表A,B

A表存储商品点击日志,B表存储商品

要求显示当天所有商品点击量列表并附带总数并按天排序
复制代码 代码如下:

declare @sql varchar(2000)
set @sql='select CONVERT(varchar(100), a.[Time], 23) as 时间,count(b.title) as 总数'
select @sql =@sql+ ',sum(case b.title when '''+Title+''' then 1 else 0 end) as '+'['+Title+']'
from (select distinct title from B) as B
set @sql=@sql+' from A as a left join B as b on a.AId=B.Aid
group by CONVERT(varchar(100), a.[Time], 23) order by CONVERT(varchar(100), a.[Time], 23) desc'
exec(@sql)

显示结果
时间 总数 商品1 商品2 商品3
2013-11-11 5 1 0 4
2013-11-10 13 2 11 1

查看更多关于【SQL Server】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
Oracle SQL函数pivot、unpivot转置函数实现行转列、列转行
函数PIVOT、UNPIVOT转置函数实现行转列、列转行,效果如下图所示:1.PIVOT为行转列,从图示的左边到右边2.UNPIVOT为列转行,从图示的右边到左边3.左边为纵表,结构简单,易扩展4.右边为横表,展示清晰,方便查询5.很多时候业务表为纵表,但是统计分析需要的结

0评论2023-02-09497

SQL查询语句行转列横向显示实例解析
这篇文章主要为大家详细介绍了两个关于SQL查询语句行转列横向显示的实例解析,感兴趣的小伙伴们可以参考一下

0评论2016-06-20732

更多推荐