多表连接
表A
ID (主键) 名称
1 CPU
2 MEMORY
3 LCD
4 MOUSE
表B
ID B数量 单位
1 12 公斤
1 5 箱
2 10 公斤
2 15 公斤
表C
ID C数量 单位
1 5 公斤
3 10 公斤
表D
ID D数量 单位
1 10 箱
2 10 箱
3 5 箱
要把四个表连接起来并按单位加总达到下面结果
ID 名称 B数量 C数量 D数量 单位
===== ======= ======= ======= ====== ====
1 CPU 12 5 0 公斤
1 CPU 5 0 10 箱
2 MEMORY 25 0 0 公斤
2 MEMORY 0 0 10 箱
3 LCD 0 10 0 公斤
3 LCD 0 0 5 箱
我这样写
select a.*,x.B数量,y.C数量,z.D数量,x.单位 from a
left join (select id,sum(B数量),单位 from b group by id,单位) x on a.id=x.id
left join (sele