我在Access中有3个表链接到3个Excel电子表格。每个工作表都具有相同的字段和命名约定。我想找到一种简单的方法来进行联合查询。我目前的代码是:
SELECT [13F].Rank, [13F].[Account Name], [13F].[Fund/Contact], [13F].Symbol, [13F].Type, [13F].Shares, [13F].Date, [13F].Source
FROM 13F
WHERE Symbol = "AAPL" Or Symbol = "AAP"
UNION ALL
SELECT Emails.Rank, Emails.[Account Name], Emails.[Fund/Contact], Emails.Symbol, Emails.Type, Emails.Shares, Emails.Date, Emails.Source
FROM Emails
WHERE Symbol = "AAPL" Or Symbol = "AAP"
UNION ALL SELECT Trade_Blotter.Rank, Trade_Blotter.[Account Name], Trade_Blotter.[Fund/Contact], Trade_Blotter.Symbol, Trade_Blotter.Type, Trade_Blotter.Shares, Trade_Blotter.Date, Trade_Blotter.Source
FROM Trade_Blotter
WHERE Symbol = "AAPL" Or Symbol = "AAP"
ORDER BY Rank, [Account Name];
“WHERE Symbol =”可能变得相当冗长。我经常搜索10-15个变量。我不熟悉SQL,所以这可能比我做的容易得多,但我想做的是创建一个我可以用于此WHERE语句的变量。例如,
**Tickers** = "AAPL" Or "AAP" Or "GOOG" Or "CSC"
SELECT [13F].Rank, [13F].[Account Name], [13F].[Fund/Contact], [13F].Symbol, [13F].Type, [13F].Shares, [13F].Date, [13F].Source
FROM 13F
WHERE Symbol = **Tickers**
我知道这不是SQL的正常语法,但希望你得到我的漂移。我试图阻止不得不重新键入我想要的3次或不小心复制和粘贴代码。
由于