Access:在新查询中计算有问题(条件表达式中的数据类型不匹配)

问题描述 投票:0回答:0

我是 Access 的新手,我正在努力做一些看起来很简单的事情。我需要你的帮助

在表格中,我有一个数字(双精度)数据类型的字段(

PERMITTIVITY
)。 我想用这个表达式创建一个新字段(直接在表中或在新查询中):
Log([PERMITTIVITY])*0,092376679+0,003073477

而且我希望能够使用查询中的

Avg
行制作
Total
(按时间和地点分组)。但这导致我出现诸如“条件表达式中的数据类型不匹配”、“类型不匹配”之类的错误

如果有帮助,这里是查询的SQL代码

SELECT ZONE.COMPOSITION, SENSOR_ZONE.ZONE, SENSOR_ZONE.TREATMENT, SOIL_WATER_CONTENT.MEASURE, SOIL_WATER_CONTENT.DATES, Avg(SOIL_WATER_CONTENT.VALUE_RAW) AS AvgOfVALUE_RAW, Avg(SOIL_WATER_CONTENT.VALUE_RAW_FILTERED) AS AvgOfVALUE_RAW_FILTERED, Avg(SOIL_WATER_CONTENT.PERMITTIVITY) AS AvgOfPERMITTIVITY, Avg(SOIL_WATER_CONTENT.WATER_CONTENT_Jonard) AS AvgOfWATER_CONTENT_Jonard, Avg(SOIL_WATER_CONTENT.WATER_CONTENT_Jacobsen) AS AvgOfWATER_CONTENT_Jacobsen, **Avg(Log([PERMITTIVITY])*0.092376679+0.003073477) AS WATER_CONTENT_GuiTil**, First(SENSOR.SENSOR) AS FirstOfSENSOR, Avg(METEO.TempAir) AS AvgOfTempAir, Avg(METEO.TempForest) AS AvgOfTempForest, Avg(METEO.Radiation) AS AvgOfRadiation, Avg(METEO.WindDir) AS AvgOfWindDir, Avg(METEO.RelHum) AS AvgOfRelHum, Avg(METEO.TempSoil) AS AvgOfTempSoil, Sum(METEO.Rain) AS SumOfRain, Avg(METEO.WindSpeed) AS AvgOfWindSpeed

FROM 
[ZONE] INNER JOIN ((SENSOR_ZONE INNER JOIN SENSOR ON (SENSOR_ZONE.N_SENSOR = SENSOR.N_SENSOR) AND (SENSOR_ZONE.MEASURE = SENSOR.MEASURE)) INNER JOIN (METEO INNER JOIN SOIL_WATER_CONTENT ON (METEO.Years = SOIL_WATER_CONTENT.Years) AND (METEO.Months = SOIL_WATER_CONTENT.Months) AND (METEO.Days = SOIL_WATER_CONTENT.Days) AND (METEO.Hours = SOIL_WATER_CONTENT.Hourss)) ON (SENSOR.N_SENSOR = SOIL_WATER_CONTENT.N_SENSOR) AND (SENSOR.MEASURE = SOIL_WATER_CONTENT.MEASURE)) ON (ZONE.TREATMENT = SENSOR_ZONE.TREATMENT) AND (ZONE.ZONE = SENSOR_ZONE.ZONE)

GROUP BY 
ZONE.COMPOSITION, SENSOR_ZONE.ZONE, SENSOR_ZONE.TREATMENT, SOIL_WATER_CONTENT.MEASURE, SOIL_WATER_CONTENT.DATES;

我试过了:

  • 在我的表中添加一个新的计算字段,但未能成功将其转换为能够使用它的数字数据类型 -> “类型不匹配”

  • 使用表达式“WATER_CONTENT_GuiTil: Avg(Log([PERMITTIVITY])*0,092376679+0,003073477)”在查询中添加一个新字段,但 Avg 部分不起作用 -> “标准表达式中的数据类型不匹配“

  • 在条件中写入表达式“Log([PERMITTIVITY])*0,092376679+0,003073477”->“不是聚合函数的一部分”

sql ms-access-2016 sqldatatypes
© www.soinside.com 2019 - 2024. All rights reserved.