当前位置: 代码迷 >> Sql Server >> 多表连接,该如何处理
  详细解决方案

多表连接,该如何处理

热度:96   发布时间:2016-04-27 16:29:52.0
多表连接
表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   (select   id,sum(C数量),单位   from   c   group   by   id,单位)   y   on   a.id=y.id
  相关解决方案