【发布时间】:2015-09-28 12:15:10
【问题描述】:
我在 access 2007 中有这个查询:
SELECT Clientes.ID, Clientes.Nombre, Sum(CuentasCorrientes.Debe-CuentasCorrientes.Haber) AS Deuda
FROM Clientes INNER JOIN CuentasCorrientes ON Clientes.ID = CuentasCorrientes.CodCliente
GROUP BY Clientes.ID, Clientes.Nombre,
HAVING (((Sum([CuentasCorrientes].[Debe]-[CuentasCorrientes].[Haber]))>0))
ORDER BY Clientes.Nombre;
这工作正常, 现在我需要从另一个包含所有付款的表中添加最大日期。由客户 ID 链接。 像这样:
SELECT Clientes.ID, Clientes.Nombre, Sum(CuentasCorrientes.Debe-CuentasCorrientes.Haber) AS Deuda, Max(Fecha_1.Fecha) AS UltimoPago
FROM CuentasCorrientes AS Fecha_1 INNER JOIN (Clientes INNER JOIN CuentasCorrientes ON Clientes.ID = CuentasCorrientes.CodCliente) ON Fecha_1.CodCliente = Clientes.ID
WHERE (((Fecha_1.TipoPago)<>''))
GROUP BY Clientes.ID, Clientes.Nombre
HAVING (((Sum([CuentasCorrientes].[Debe]-[CuentasCorrientes].[Haber]))>0))
ORDER BY Clientes.Nombre;
但是当我添加这个日期“UltimoPago”时,日期就可以了!但是“deudas”(债务)字段开始显示错误金额(已经尝试使用 Distinct)。
我该怎么做?在 Qlikview ii 等软件中很容易,但我需要在此访问中工作的 sql 代码。
【问题讨论】:
标签: sql join ms-access-2007 left-join