【发布时间】: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