现在有表
零件表  A
品名  库存量  
11    30
22    30       
33    30     
44    30      入库表 B
品名  入库数量   入库时间
11    10         2010-07-10
11    5          2010-08-01
11    3          2010-07-20
22    4          2010-07-10
22    5          2010-08-01出库表 C
品名   出库数量   出库时间
11     5          2010-07-15
11     6          2010-08-20
33     5          2010-07-20
33     5          2010-08-01
33     6          2010-08-06每个表之间的联系是 品名想要得到的结果是
品名   库存量    入库量    出库量
11     30        18        11
22     30        9         0 
33     30        0         16想法是 数据表A B C通过品名 联接起来
几个条件:1 入库量与出库量 2个都不存在,不显示
          2 入库量或出库量 某一个不存在,显示0 如果入库出库时间上加上限制,比如说是,只能显示7月份数据,又该如何作?
  

解决方案 »

  1.   

    用inner join连接,看看sql语法帮助吧
      

  2.   

     select c11.品名,c11.库存数量,b1入库数量 from  c11
           (select a.品名,a.库存数量,c.出库数量 from  a left join
                  (select 品名,sum(出库数量) 出库数量  from c group by  品名) c1
              on a.品名=c1.品名
              )c11 left on 
             (select 品名,sum(入库数量) 入库数量  from b group by  品名) b1
     on c11.品名=b1.品名---没有试验,大概是这个意思
      

  3.   

    --试验通过--access----
    select c11.品名,c11.数量,c11.出库数量,b1.入库数量 from 
       (select a.品名,a.数量,c1.出库数量 from a left join
            (select c.品名,sum(c.出库数量) as 出库数量 from c group by 品名) c1
       on a.品名=c1.品名
       ) c11 left join (select b.品名,sum(b.入库数量) as 入库数量 from b group by b.品名) b1 
    on c11.品名=b1.品名
    ----至于时间,你在上述的分支中加入where条件就可以了。
      

  4.   


    select c11.品名,c11.数量,c11.出库数量,b1.入库数量 from  
      (select a.品名,a.数量,c1.出库数量 from a left join
      (select c.品名,sum(c.出库数量) as 出库数量 from c group by 品名) c1
      on a.品名=c1.品名
      ) c11 left join (select b.品名,sum(b.入库数量) as 入库数量 from b group by b.品名) b1  
    on c11.品名=b1.品名
    where 條件自己加...