所以首先我有两张桌子-
- 主输出表
- 地理编码替换/更正表
我们要做的第一件事是左连接 - 如果主输出表与替换表上的任何地理编码匹配,它会将它们换出。
但是,我们在主输出表中有 3 列可以用于地理编码:
- 拉链城市
- 压缩状态
- 拉链国
这取决于地理编码的放置位置,这决定了许多因素。
现在最重要的是:地理编码替换表有 2 个例外,虽然地理编码与城市相关,但它需要进入状态。它们是特殊的例外。所以我做了一个复选框来标记它们。
对于这些带有复选框的异常 - 我希望 SQL/SELECT 语句检查复选框是否被选中,如果是 - 将其标记为 ZIPSTATE。如果没有标记,请将其保留为 ZIPCITY。
我最大的问题:使用下面的 SELECT 编码,它不断给我一个语法错误,抱怨一个运算符。但是我已经三次检查了这一百万次,我真的觉得它不喜欢单个列选择中的多个 AS [Column Name] 语句。
qdQuery.SQL = "SELECT IIf(Input.ZIPCITY Is Not Null, IIf(Input.ZIPCITY=[Geocodes].
[ReplaceGeocode],IIf([Geocodes].[ExceptionChkBox],[Geocodes]![ReplacementGeocode]
AS [ZIP STATE], [Geocodes]![ReplacementGeocode] AS [ZIP CITY]), Input.ZIPCITY AS
[ZIP CITY]), Input.GEOCITY As [ZIP CITY])" _
& " FROM Input LEFT JOIN [Geocodes] ON Input.ZIPCITY=[Geocodes].[ReplaceGeocode]
Or Input.ZIPSTATE=[Geocodes].[ReplaceGeocode] Or Input.ZIPNATION=[Geocodes].
[ReplaceGeocode]"
任何帮助深表感谢!