我正在使用 Access 2010。
我的错误似乎是混叠的结果。
我读过的解决方案指定在每个级别都应该使用不同的别名(我已经这样做了),并且 Access 喜欢很多 SELECT * (所以我也添加了这些),但它并没有解决我的问题。
我在 ServiceZipSpec.Service_Product 上遇到错误。任何指针?谢谢!
SELECT DISTINCT ServiceZipSpec.Service_Product, ServiceZipSpec.Specificity, Service_Availability.Available, Service_Availability.Zip_Code, Service_Availability.State
FROM
( SELECT * FROM
( SELECT * FROM Service_Availability AS C_Avail1
INNER JOIN
(
SELECT C_Avail2.Service_Product, MAX(C_Avail2.Specificity) AS Spec
FROM Service_Availability AS C_Avail2
WHERE (C_Avail2.State = "TX" OR C_Avail2.State = "CW")
GROUP BY C_Avail2.Service_Product
) MaxSpec
ON C_Avail1.Service_Product = MaxSpec.Service_Product
AND C_Avail1.Specificity = MaxSpec.Spec
) Service_Spec
LEFT JOIN TABLE_ZipCodes ON Service_Spec.State = TABLE_ZipCodes.State
) ServiceZipSpec
WHERE ServiceZipSpec.Available = TRUE AND (ServiceZipSpec.State = "TX" OR ServiceZipSpec.State = "CW")
;