在Access中加入多个表的问题

时间:2014-11-15 04:18:19

标签: sql database ms-access join inner-join

目前我有一个将多个表连接在一起的select查询,看起来像这样:

SELECT Phone.ID, User.ID, Center.ID, UDL.ID, Bill_Cycles.[Bill Date], Accounts.ID
FROM tbl_Accounts INNER JOIN (((((Phone 
  INNER JOIN tbl_IMPORT 
   ON Phone.[Wireless Number] = tbl_IMPORT.[Wireless Number])
 INNER JOIN User
   ON tbl_IMPORT.[User Name] = User.[User Name]) 
 INNER JOIN Center
   ON tbl_IMPORT.[ Center Name] = Center.[ Center]) 
 INNER JOIN UDL
   ON tbl_IMPORT.[UDL] = UDL.[UDL])
 INNER JOIN Bill_Cycles 
  ON tbl_IMPORT.[Bill Date] = Bill_Cycles.[Bill Date])
 INNER JOIN Accounts
  ON Accounts.[Account Number] = tbl_IMPORT.[Account]

当我运行此查询时,它运行正常,但是当我尝试添加一个无法与tbl_Import表连接的表时,它只返回一个空白表。我的意思是我现在拥有的表格tbl IMPORT中都有我可以加入的相应类别。我要加入的新表格,tbl_IMPORT中没有可以连接的新表格。是否可以将以上语句与以下内容联系起来:INNER JOIN Inventory ON Inventory.[ID]=Device.[ID]。正如我之前提到的,将此行添加到select语句的末尾会返回空白结果。

1 个答案:

答案 0 :(得分:0)

基于上面的评论,似乎您必须首先加入[账单日期]的库存,然后加入设备。

INNER JOIN Inventory ON tbl_IMPORT.[Bill Date] = Inventory.[Bill Date]
INNER JOIN Device ON Inventory.[ID]=Device.[ID]

表面看起来像一个不寻常的数据模型,但可能。如果这还不够,你可能想要:

a)调整问题以显示一个更简单的例子来证明难度,或者 b)添加相关的表定义,以便我们获得更好的视角。