ID 品名 尺寸 颜色 单件重 数量
1 足球鞋 40 白色 50 100
2 足球鞋 42 白色 52 150
3 篮球鞋 44 红色 52 150现在要分别计算相同品名,相同颜色的产品的总重量,而且要分别对应到相应的产品比如足球鞋,白色的总重量是50x100+52x150=12800,也就是得到如下结果记录ID 品名 尺寸 颜色 单件重 数量 总重量
1 足球鞋 40 白色 50 100 12800
2 足球鞋 42 白色 52 150 12800
3 篮球鞋 44 红色 52 150 7800
1 足球鞋 40 白色 50 100
2 足球鞋 42 白色 52 150
3 篮球鞋 44 红色 52 150现在要分别计算相同品名,相同颜色的产品的总重量,而且要分别对应到相应的产品比如足球鞋,白色的总重量是50x100+52x150=12800,也就是得到如下结果记录ID 品名 尺寸 颜色 单件重 数量 总重量
1 足球鞋 40 白色 50 100 12800
2 足球鞋 42 白色 52 150 12800
3 篮球鞋 44 红色 52 150 7800
declare @table table
(ID int,品名 varchar(6),尺寸 int,颜色 varchar(4),单件重 int,数量 int)
insert into @table
select 1,'足球鞋',40,'白色',50,100 union all
select 2,'足球鞋',42,'白色',52,150 union all
select 3,'篮球鞋',44,'红色',52,150select *,总重量=(select sum(单件重*数量) from @table
where 品名=t.品名 and 颜色=t.颜色) from @table t/*
ID 品名 尺寸 颜色 单件重 数量 总重量
----------- ------ ----------- ---- ----------- ----------- -----------
1 足球鞋 40 白色 50 100 12800
2 足球鞋 42 白色 52 150 12800
3 篮球鞋 44 红色 52 150 7800
*/
1 足球鞋 40 白色 50 100 5000 12800
2 足球鞋 42 白色 52 150 7800 12800
3 篮球鞋 44 红色 52 150 7800 7800现在需要得到这样的记录,sql语句怎么写
select id,品名,尺寸, 颜色, 单件重, 数量,单件重*数量 as 重量,
(select sum(c1.单件重*c1.数量) from c as c1 where c1.品名=c.品名) as 总重量
from c