首页 > 数据库 > MsSQL

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

admin MsSQL 2022-02-09 20:08:44 行转列   级联行转列"
现有两表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
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:/shujuku/MsSQL/98442.html

留言与评论(共有 0 条评论)
   
验证码:

潘少俊衡

| 桂ICP备2023010378号-4

Powered By EmpireCMS

爱享小站

中德益农

谷姐神农

环亚肥料

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

感谢潘少俊衡友情技术支持