【发布时间】:2016-11-28 21:07:06
【问题描述】:
我正在尝试在 microsoft access 中将三个表连接在一起,允许以 Table 1 作为我的主表的空条目,以便显示所有记录。
我有这段代码只能链接 2 个表。
SELECT [1].IDCode, [2].GiftDate, [2].FundId__1, [2].fund_name
FROM 1 LEFT JOIN 2 ON [1].IDCode = [2].IDCode
WHERE ((([1].IDCode) Is Not Null));
但我想添加第三个。我有这个,但是每次我尝试运行它时,我都会收到一个错误(无效操作)。
SELECT [1].IDCode, [2].GiftDate, [2].FundId__1, [2].fund_name, [3].Rep_Type
FROM (1 LEFT JOIN 2 ON [1].IDCode = [2].IDCode) LEFT JOIN 3 ON [1].IDCode = [3].IDCode
WHERE ((([1].IDCode) Is Not Null));
我的代码现在是这个,我仍然收到无效操作。
SELECT [A].IDCode, [A].GiftDate, [A].FundId__1, [A].fund_name, [3].Rep_Type
FROM
(SELECT [1].IDCode, [2].GiftDate, [2].FundId__1, [2].fund_name
FROM 1
LEFT JOIN 2
ON [1].IDCode = [2].IDCode) A
LEFT JOIN 3
ON [A].IDCode = [3].IDCode
WHERE ((([1].IDCode) Is Not Null));
【问题讨论】:
-
这个问题的答案:stackoverflow.com/questions/19367565/…可能对你有帮助
-
3 会一直存在于 2 中吗?如果是则加入 2. 如果不是 () 顺序将很重要并使这更具挑战性。
-
3 并不总是存在于 2 中。
-
我无法重新创建问题。您的第二个查询在 Access 2013 中运行良好。也许发布您的表架构,因为我的示例可能与您的不符。