SQL联合查询产生数据类型不匹配错误

时间:2019-02-24 22:08:12

标签: sql ms-access

我在Access 2007-2010中创建了以下查询

SELECT [Zip Code Count].[Zip Code], [Zip Code Count].CountOfAddress1
FROM [Zip Code Count]
WHERE [Zip Code Count].[Zip Code] NOT IN (Select [Zip Code List].[Zip Code] From [Zip Code List])

UNION  

Select [Covered Zips Count].[Zip Code], [Covered Zips Count].CountOfAddress1
FROM [Covered Zips Count]
Where [Covered Zips Count].CountOfAddress1 < 10;

Covered Zip CountsZip Code Count都是来自较大(800多个记录)数据集的聚合查询。 Zip Code List是包含特定邮政编码的简单表格。

我要做的是列出不在Zip Code List中的那些邮政编码加上在列表中但记录总数少于10的那些邮政编码的列表(这是通过邮寄方式进行批量邮寄是必需的。

我收到以下错误消息。

  

条件表达式中的数据类型不匹配

两个查询部分都可以正常工作。这两个查询的输出完全相同:邮政编码是文本,计数是整数。这个查询似乎应该可以,但是拒绝。

1 个答案:

答案 0 :(得分:0)

我想我已经解决了这个问题。。。我试图进行单独的查询,然后将它们合并到另一个查询中。这给了我同样的错误,所以我试图删除一个字段。然后我得到了错误“查询太复杂”。因此,我猜该软件无法处理它。

我最终将邮政编码的原始聚合查询转换为Make Table查询。一旦有了可靠的数据集,我首先尝试的UNION查询就可以完美地工作。