现在有一张2月份的销售表tab1:ID 商品编号 销售员编号 销售日期
1 00012 01A 2006-2-1
2 00013 01B 2006-2-3
......98 00089 01A 2006-2-23现在要返回
日期 销售员01A的数量 销售员01B的数量 总计
1 20 30 50
2 40 50 90
..........
28 80 90 170
1 00012 01A 2006-2-1
2 00013 01B 2006-2-3
......98 00089 01A 2006-2-23现在要返回
日期 销售员01A的数量 销售员01B的数量 总计
1 20 30 50
2 40 50 90
..........
28 80 90 170
解决方案 »
- sql 随机数
- 如何同步两台服务器上的数据?
- 向smalldatetime类型字段插入空值时总会被默认为1900-01-01,请问如何使值为空,就是不要这个默认的1900-01-01?
- MySQLNonTransientConnectionException
- sqlserver 数据库恢复的问题
- 如何批量生成插入语句?
- 急,如何根据子查询出来的值进行新查询
- 在win 2000 pro中的 sql server 2000 開發版不能連接其它的sql server 嗎?
- 求写法:(一句)
- 在类行为text的字段里,输入一篇文章,怎么解决“回车”?
- 【疑问】去处SQL查询结果中的重复数据
- 请问判断是否为sql2000 T-SQL的关键字?
(select isnull (销售员01A的数量,0)销售员01A的数量,tt.销售日期 from (select distinct 销售日期 from table7 )tt left join
(select count(*)销售员01A的数量,销售日期 from table7 where 销售员编号='01A' group by 销售日期)AA
on AA.销售日期=tt.销售日期)TA left join
(select count(*) 销售员01B的数量,销售日期 from table7 where 销售员编号='01B' group by 销售日期)BB
on TA.销售日期=BB.销售日期
(
ID int,
商品编号 varchar(10),
销售员编号 varchar(10),
销售数量 int,
销售日期 datetime
)insert T select 1,'00012','01A',30,'2006-2-1'
insert T select 2,'00013','01B',40,'2006-2-3'
insert T select 98,'00012','01A',50,'2006-2-23'
declare @T_SQL varchar(8000)
set @T_SQL=''
select @T_SQL=@T_SQL + ' sum(case when 销售员编号=''' + 销售员编号 + ''' then 销售数量 else 0 end) as ''' + 销售员编号 + ''',' from (select distinct 销售员编号 from T) T
set @T_SQL = 'select datename(dd,销售日期) as ''日期'',' + @T_SQL +'sum(销售数量) as ''合计'' from T group by datename(dd,销售日期)'
exec (@T_SQL)
select TA.销售员01A的数量,isnull(BB.ss,0) 销售员01B的数量,TA.销售日期,isnull((TA.销售员01A的数量+isnull(BB.ss,0)),0) 总计 from
(select isnull (销售员01A的数量,0)销售员01A的数量,tt.销售日期 from (select distinct 销售日期 from table7 )tt left join
(select count(*)销售员01A的数量,销售日期 from table7 where 销售员编号='01A' group by 销售日期)AA
on AA.销售日期=tt.销售日期)TA left join
(select count(*) ss /*销售员01B的数量*/,销售日期 from table7 where 销售员编号='01B' group by 销售日期)BB
on TA.销售日期=BB.销售日期