【问题标题】:Issues Joining Multiple Tables in Access在 Access 中连接多个表时出现问题
【发布时间】:2014-11-15 04:18:18
【问题描述】:

目前我有一个选择查询,它将许多表连接在一起,看起来像这样:

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 语句的末尾会返回空白结果。

【问题讨论】:

  • 这听起来像是您正在尝试连接两个完全不相关的表。是这样还是我看错了?
  • 有点,是的。 tbl_IMPORT, Inventory, and Device 之间共享的唯一相关类别是账单日期。 tbl_IMPORT 和 Inventory 应具有相同的账单日期。
  • 这听起来不像是独一无二的,可以做你想做的事,但也许吧。在这种情况下,您必须先将 Inventory 加入 tbl_IMPORT,然后再加入 Device。

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


【解决方案1】:

根据上面的 cmets,您似乎必须首先在 [Bill Date] 加入 Inventory,然后再加入 Device。

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

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

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

【讨论】:

  • 好吧,我会对此进行测试,但由于某种原因,我在连接 tbl_IMPORT 上的库存的INNER JOIN 的INNER 片段上遇到语法错误。说 `From 子句中的语法错误`
  • Inventory 和 .[Bill Date] 之间有一个空格。可能就是这样。
猜你喜欢
  • 2022-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多