27,579
社区成员
发帖
与我相关
我的任务
分享
create table icmo(任务单号 int, 车号 varchar(10), 工序 varchar(10), 数量 int)
insert into icmo
select 1001 , 1 , '上手', 100
union all select 1001 , 1 ,'上手', 50
union all select 1001 , 1 ,'下手', 40
union all select 1001 , 1 ,'下手', 80
union all select 1001 , 2 ,'上手', 50
union all select 1001 , 2 ,'下手', 40
create table price(工序 varchar(10) ,工价 numeric(10,2))
insert into price
select '上手' , 1
union all select '下手' , 1.1
select c.任务单号,c.车号,
SUM(case when c.工序 = '上手' then c.数量 else 0 end) 上手,
SUM(case when c.工序 = '下手' then c.数量 else 0 end) 下手,
SUM(case when c.工序 = '下手' then c.数量 * p.工价 else 0 end) 下手的工资
from icmo c
inner join price p
On c.工序 = p.工序
group by c.任务单号,c.车号
/*
任务单号 车号 上手 下手 下手的工资
1001 1 150 120 132.0
1001 2 50 40 44.0
*/