我有一个Access数据库,其中包含一个名为SampleInformation的主表(下面称为PRIMARY表)和两个名为BOD_Data和TSS_Data的链接表。该链接基于名为Number的主键。
我使用此查询将记录从PRIMARY表中提取到Excel中:
...
mySQLCall = "SELECT Number, SampleDate FROM SampleInformation _
WHERE (DATEPART('m',SampleDate) = DATEPART('m',#" & monthToImport & "#)) _
AND (DATEPART('yyyy',SampleDate) = DATEPART('yyyy',#" & monthToImport & "#)) _
ORDER BY SampleDate"
Set myRecordSet = myDB.OpenRecordset(mySQLCall, dbOpenSnapshot)
...
我想根据从PRIMARY表返回的每条记录,将每个链接表中的两个变量拉入Excel。
从this answer看来,我可以通过一些点表示法来实现这一点,例如用于访问CoreData中链接记录的点符号,但我无法找到任何示例代码。这就是我到目前为止所做的:
SELECT Number, SampleDate, BOD_Data.FIELDNAME1, TSS_Data.FIELDNAME2 _
FROM SampleInformation WHERE …
这是可能的,还是我必须对迭代或某种类型的记录集查询使用单独的查询?
我为这个问题的脱节而道歉,感谢您的帮助!
答案 0 :(得分:0)
想出来。我只需要一个JOIN。
SELECT Sample.FIELDNAME0, BOD.FIELDNAME1, TSS.FIELDNAME2
FROM SampleInformation as Sample
INNER JOIN BOD_Data as BOD
ON Sample.Number = BOD.Number
INNER JOIN TSS_Data as TSS
ON Sample.Number = TSS.Number
WHERE …
因为错过了而感到愚蠢!