sql多表行转列、级联行转列示例代码
时间:2021-07-01 10:21:17
帮助过: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 |
您可能感兴趣的文章:
- mysql 行转列和列转行实例详解
- SQLServer行转列实现思路记录
- MySQL存储过程中使用动态行转列
- mssql 数据库表行转列,列转行终极方案
- Sql Server 2000 行转列的实现(横排)
- sql动态行转列的两种方法
- table 行转列的sql详解
- SQL查询语句行转列横向显示实例解析
- SQL行转列和列转行代码详解
- sql语句实现行转列的3种方法实例