服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - sql多表行转列、级联行转列示例代码

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

2020-03-22 19:05MSSQL教程网 Sql Server

这篇文章主要介绍了sql多表行转列、级联行转列示例代码,需要的朋友可以参考下

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

 

延伸 · 阅读

精彩推荐