我一直在研究如何将我拥有的 UNION 转换为 INTERSECT,但 MS Access 中没有 INTERSECT 关键字。
如果我想要这两个 select 语句的交集而不是它们的 Union,我一直很困惑以下代码如何使用内部连接。
我知道如果我 SELECT DISTINCT 然后使用内部联接,我可以实现我想要的,但 ON 关键字真的让我感到困惑。
我一周前刚开始使用 SQL,所以如果您发现代码有任何其他问题,我会接受所有建设性的批评 :)
SELECT *
FROM (SELECT [Catt].[Name]
FROM [Catt]
WHERE ((([Catt].[Name]) Like "*" & [forms]![Main]![SrchText] & "*")
AND [forms]![Main]! [SrchText] IS NOT Null AND [forms]![Main]![SrchText]<>'' )
UNION
SELECT [Catt].[Name]
FROM [Catt]
WHERE ((([Catt].[Category]) Like [forms]![Main]![Combo7].Value) AND (([forms]![Main]! [SrchText] IS Null) OR ([forms]![Main]![SrchText]='')))) AS Query
ORDER BY [Catt].[Name];
谢谢你。