Aar*_*ras 6 sql alias ms-access-2010
我正在使用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")
;
Run Code Online (Sandbox Code Playgroud)
您的问题的根源是您SELECT *在连接具有类似命名列的表时使用.尝试限制SELECT table_name.*,或只是选择您需要的列.
例如:
SELECT DISTINCT ServiceZipSpec.Service_Product, ServiceZipSpec.Specificity, Service_Availability.Available, Service_Availability.Zip_Code, Service_Availability.State
FROM
( SELECT Service_Spec.*, TABLE_ZipCodes.Zip_Code FROM
( SELECT C_Avail1.* FROM Service_Availability AS C_Avail1
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12912 次 |
| 最近记录: |