加入这些表的正确方法是什么?

时间:2017-07-21 11:42:40

标签: sql ms-access ms-access-2016

**itemwhse**

item (primary key)
whse (primary key)
...other fields...


**job**

job (primary key)
suffix (primary key)
item
whse
...other fields...

job表存储有关已生成项目的作业的信息。这些物品是在某个仓库生产的,但随后可以运到另一个仓库进行储存。 itemwhse表保存库存金额和料号。

我注意到我得到了正确的信息,但我想知道哪个是正确的:内部加入itemwhse或仅加入item

示例数据:

**itemwhse**

item        whse        qty
ItemA       BART        1000
ItemA       BEN         1500


**job**

job         suffix      item       whse        qty
foo1        1           ItemA      BART        2500

示例查询:

select

   j.job
   , j.suffix
   , j.item
   , j.whse
   , i.item
   , i.whse

from

   job as j
   inner join itemwhse as i on j.item = i.item

1 个答案:

答案 0 :(得分:2)

如果item+whse是复合主键,那么您应该同时加入它们。

Itemwhse是一个关联表,它将ItemWarehouse的多重性M:N联系起来。

如果您JobItemwhse加入item,则会在所有仓库中获得特定类型的商品,而不仅仅是在相关仓库中。