Nz在MAX聚合函数中的SQL访问

时间:2015-09-22 09:01:07

标签: sql ms-access

我有点迷失在这里我需要你的帮助。我可以在聚合函数中使用Nz吗? 例如:

Nz(Max(Some table), Default_Column)

我在这里得到了我的SQL查询。你可能不会理解这些名字。

SELECT Equip.id_equipamento, Calib.id_calibração,
       Nz(Max([Registo de Calib].[DateRealization]),[Calib].[Date Activation]) AS [Last Date],
       Calib.Tip
FROM Equip
    INNER JOIN (Calib INNER JOIN [Registo de Calib] ON Calib.id_calibração = [Registo de Calib].id_calibração) ON Equip.id_equipamento = Calib.id_equipamento
WHERE (((Equip.id_equipamento)=[Calib].[id_equipamento]))
GROUP BY Equip.id_equipamento, Calib.id_calibração, Calib.Tip;

它给出的错误与我使用没有group by的聚合函数时的错误相同。

有什么想法吗?

此处的交易是如果我选择的max列为空或为空,则会从calib的列date activation获取值。我需要这个来计算带有日期的查询。

1 个答案:

答案 0 :(得分:1)

Nz(Max([Registo de Calib].[DateRealization]), [Calib].[Date Activation])

将(正当地)抱怨[Calib].[Date Activation]既不属于集合函数,也不属于Group Gy子句。

所以解决方案是聚合它:

Nz(Max([Registo de Calib].[DateRealization]), Max([Calib].[Date Activation]))