Sql 将两个查询(一个基于另一个)合并为一个查询

Sql 将两个查询(一个基于另一个)合并为一个查询,sql,ms-access,Sql,Ms Access,我有两个问题,一个部分基于另一个。有没有办法将它们组合成一个查询 SELECT tblIssues.*, tblIssues.NewsletterLookup FROM tblIssues WHERE (((tblIssues.NewsletterLookup)=5)); SELECT tblArea.ID, tblArea.AreaName FROM tblArea LEFT JOIN Query2 ON tblArea.ID = Query2.[AreaLookup] WHERE (((t

我有两个问题,一个部分基于另一个。有没有办法将它们组合成一个查询

SELECT tblIssues.*, tblIssues.NewsletterLookup
FROM tblIssues
WHERE (((tblIssues.NewsletterLookup)=5));

SELECT tblArea.ID, tblArea.AreaName
FROM tblArea LEFT JOIN Query2 ON tblArea.ID = Query2.[AreaLookup]
WHERE (((tblArea.Dormant)=False) AND ((Query2.tblIssues.NewsletterLookup) Is Null));
您需要执行类似的联接

您需要执行类似的联接


如果要在不使用Query2的单个查询中执行此操作,可以在第二个示例中使用Query2中的等效SQL作为子查询:

选择a.ID、a.AreaName 从…起 特布拉里亚作为 左连接 选择i* 从我的演讲中 其中i.1=5 作为子 在a.ID=sub[AreaLookup]上 哪里 a、 休眠=错误 并且sub.lookup为空;
如果要在不使用Query2的单个查询中执行此操作,可以在第二个示例中使用Query2中的等效SQL作为子查询:

选择a.ID、a.AreaName 从…起 特布拉里亚作为 左连接 选择i* 从我的演讲中 其中i.1=5 作为子 在a.ID=sub[AreaLookup]上 哪里 a、 休眠=错误 并且sub.lookup为空;
This:ti.newsletteLookup=5给出错误消息“不支持联接表达式”。@GreatCrosby,啊!!MS Access。我的朋友错过了。如果有帮助,请参阅答案中的编辑。此:ti.newsletteLookup=5给出错误消息“不支持联接表达式”。@GreatCrosby,啊!!MS Access。我的朋友错过了。如果有帮助,请参见回答中的编辑。Access是否会因为Query2.tblIssues.newsletteLookup而抱怨第二个示例查询?@HansUp,我相信,这只是OP试图指出其要求的一个示例。其中Query2什么都不是,但第一个queryAccess不会抱怨。这两个查询完全满足了我的需求——我想在一个查询中自己完成这一切。我不明白我是如何得到第一个查询的内容的,其中Query2在第二个查询中。Access不会因为Query2.tblIssues.NewsletterLookup而抱怨第二个示例查询吗?@HansUp,我相信,这只是一个示例OP试图指出他的要求。其中Query2什么都不是,但第一个queryAccess不会抱怨。这两个查询完全满足了我的需求——我想在一个查询中自己完成这一切。我不明白我是如何得到第一个查询的内容的,而第二个查询中的查询是2。
SELECT ti.*, tblArea.ID, tblArea.AreaName
FROM tblArea ta
LEFT JOIN tblIssues ti ON ta.ID = ti.[AreaLookup]
WHERE (ti.NewsletterLookup=5 OR ti.NewsletterLookup Is Null)
AND ta.Dormant=False;