欢迎来到代码驿站!

MsSql

当前位置:首页 > 数据库 > MsSql

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

时间:2021-08-14 08:29:49|栏目:MsSql|点击:
现有两表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

上一篇:SqlServer生成连续数字根据指定的数字操作

栏    目:MsSql

下一篇:sql server字符串非空判断实现方法

本文标题:sql多表行转列、级联行转列示例代码

本文地址:http://www.codeinn.net/misctech/166718.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有