C C总计 201008 4 C 9
E D1 201008 3 E 3
销售 时间 单价 数量汇总
- ----- ------ ---------- - ----------
E D3 201008 3 E 5
E E总计 201008 3 E 8
已选择13行。
------解决方案--------------------
--创建表
create table 商品表
(
商品名 varchar(100),
销售员 varchar(100),
数量 decimal(18,2),
单价 decimal(18,2),
规格 varchar(30),
时间 varchar(50)
)
select * from 商品表 where 商品名 like '%';
--插入
insert into 商品表 values ('A','D1',2,2,'A','2010.8.31');
insert into 商品表 values ('B','D1',6,3,'B','2010.8.1');
insert into 商品表 values ('C','D2',4,4,'C','2010.8.6');
insert into 商品表 values ('B','D2',2,3,'B','2010.9.4');
insert into 商品表 values ('C','D3',5,4,'C','2010.8.21');
insert into 商品表 values ('A','D3',3,2,'A','2010.8.2');
insert into 商品表 values ('A','D3',4,2,'A','2010.8.14');
insert into 商品表 values ('E','D1',3,3,'E','2010.8.7');
insert into 商品表 values ('E','D3',5,3,'E','2010.8.25');
insert into 商品表 values ('','D3',5,3,'E','2010.8.25');
--查询
select *
from (select *
from (select 商品名,
销售员,
sum(数量) as 数量,
sum(单价) as 单价,
max(to_char(to_date(时间, 'yyyy-MM-dd'), 'yyyy-MM')) as 时间
from 商品表
group by 商品名, 销售员
order by 商品名, 销售员)
union all
select *
from (select 商品名,
'合计' as 销售员,
sum(数量) as 数量,