数据表tb结构数据如下:
名称 数量 价格
A 1 30
B 2 80
A 2 10
B 3 30
A 1 40要想输出如下结果:
名称 数量 价格小计
A 4 90
B 2 250请问该如何用一条SQL语句完成。数据库为Access,不能使用过程。谢谢!
名称 数量 价格
A 1 30
B 2 80
A 2 10
B 3 30
A 1 40要想输出如下结果:
名称 数量 价格小计
A 4 90
B 2 250请问该如何用一条SQL语句完成。数据库为Access,不能使用过程。谢谢!
insert into tb select 'A',1,30
insert into tb select 'B',2,80
insert into tb select 'A',2,10
insert into tb select 'B',3,30
insert into tb select 'A',1,40
go
select 名称,sum(数量)as 数量,sum(数量*价格) as 价格小计 from tb group by 名称
/*
名称 数量 价格小计
---------- ----------- -----------
A 4 90
B 5 250(2 行受影响)
*/go
drop table tb
tb表为:
名称 属性 数量 价格
A a1 1 30
B a1 2 80
A a2 2 10
B a2 3 30
A a1 1 40输出显示如下结果:
名称 属性 数量 价格小计
A a1 2 70
A a2 2 10
B a1 2 80
B a2 3 30麻烦帮下忙,马上结贴。
create table tb(名称 nvarchar(10),属性 nvarchar(10),数量 int,价格 int)
insert into tb select 'A','a1',1,30
insert into tb select 'B','a1',2,80
insert into tb select 'A','a2',2,10
insert into tb select 'B','a2',3,30
insert into tb select 'A','a1',1,40
go
select 名称,属性,sum(数量)as 数量,sum(数量*价格) as 价格小计
from tb group by 名称,属性
order by 1,2
/*
名称 属性 数量 价格小计
---------- ---------- ----------- -----------
A a1 2 70
A a2 2 20
B a1 2 160
B a2 3 90(4 行受影响)
*/go
drop table tb