访问 - 在两个字段上连接两个表,从表A获取所有记录

时间:2014-04-25 12:53:45

标签: sql ms-access

好的,所以在MS Access中我试图在两个字段(客户ID和产品类型)上连接两个表,让表A使用每个产品类型的总和,并拥有表A中的所有记录,这样我就能知道表B中缺少的是什么。

在表A中,每个产品类型的每个客户按年份有多个记录。但在表B中,每种产品类型只有一条记录。在表B中并非所有产品类型都存在。

示例表:

表A:

Cust ID    ProdType   Year   Number
   1          A       2014     5
   1          A       2013     8
   1          B       2014     3
   2          A       2014    13
   2          C       2014     2
   3          B       2014     1
   3          C       2014     4

表B:

                             Number 
    Cust ID    ProdType     Arrived
       1          A            5
       2          A           13
       2          C            2
       3          B            1
       3          C            2

最终结果应如下所示:

                        Sum of    Number
Cust ID    ProdType     Number    Arrived
   1          A           13        5
   1          B            3        
   2          A           13       13
   2          C            2        2
   3          A            1        1
   3          C            4        2

1 个答案:

答案 0 :(得分:1)

试试这个,

MySQL语法

select a.cust_id, a.prodtype, sum(a.number), b.arrived
from table_a a left join table_b b on a.cust_id=b.cust_id and a.prodtype=b.prodtype
group by a.cust_id, a.prodtype

这是DEMO (MySQL)

<强> MS-访问

select a.cust_id, a.prodtype, sum(a.number), b.arrived
from table_a a left join table_b b 
               on a.cust_id=b.cust_id and
               on a.prodtype=b.prodtype
group by a.cust_id, a.prodtype