有三个表
表A
型号 数量1
a 1
c 2
f 3
g 3表B
型号 数量2
a 2
b 3
c 6表C
型号 数量3
a 3
f 9如何查询出一下结果
型号 数量1 数量2 数量3
a 1 2 3
b 0 3 0
c 2 6 0
f 3 0 9
g 3 0 0
麻烦各位帮我看看,谢谢!
表A
型号 数量1
a 1
c 2
f 3
g 3表B
型号 数量2
a 2
b 3
c 6表C
型号 数量3
a 3
f 9如何查询出一下结果
型号 数量1 数量2 数量3
a 1 2 3
b 0 3 0
c 2 6 0
f 3 0 9
g 3 0 0
麻烦各位帮我看看,谢谢!
create table xinghao(id varchar(10));
insert into xinghao values('a'),('b'),('c'),('d'),('e'),('f'),('g')select D.xinghao,case when A.数量1 is null then 0 else A.数量1 end,
case when B.数量2 is null then 0 else B.数量2 end,
case when C.数量3 is null then 0 else C.数量3 end
from xinghao D lefe join A on D.id=A.型号 left join B on D.id=B.型号
left join C on D.id=C.型号
from (
select 型号,数量1,0 as 数量2,0 as 数量3 from A
union all
select 型号,0,数量2,0 as 数量3 from B
union all
select 型号,0,0,数量3 from C
) t
group by 型号