sql多表行转列、级联行转列示例代码
sql多表行转列、级联行转列示例代码
发布时间:2016-12-29 来源:查字典编辑
摘要:现有两表A,BA表存储商品点击日志,B表存储商品要求显示当天所有商品点击量列表并附带总数并按天排序复制代码代码如下:declare@sqlv...

现有两表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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新mssql数据库学习
热门mssql数据库学习
编程开发子分类