sql 语句去多行重复值查询

时间:2022-07-01 10:33:07

当所列出的某个条件为 true 时,OR 运算符会显示记录。当列出的所有条件为 true 时,AND 运算符会显示记录。

有下面两张表,表A,表B,请使用sql语句把表A转换成表B
表A:
日期           名称              工艺

--------     ----------      ------------
01-05         AC001           上料
01-05         AC001            打蜡
01-05         AC002           上料
01-05         AC002           上料
02-02         BB002           上料
02-02         BB002           上料
02-02         BB002           打蜡
02-02         BB005          上料
02-02         BB005           打蜡
02-02         BB005          打蜡

表B:

日期      类型      上料(次)     打蜡(次)
01-05     AC001        1           1
01-05     AC002        2           0
02-02     BB002        2           1
02-02     BB005        1           2

select a.日期,a.名称,a.counts as 上料(次) ,b.counts as 打蜡(次) from (select 日期,名称,count(*) as counts from A where 工艺='上料' group by 日期,名称) a,
(select 日期,名称,count(*) as counts from A where 工艺='打蜡' group by 日期,名称) b
where a.日期=b.日期
and a.名称=b.名称