01/08/2008, 07:10
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 1 mes Puntos: 2658 | |
Respuesta: no se donde Cuando quieres usar funciones agregadas (como SUM()), debes agrupar los conjuntos de datos que identificarán los registros.
Por caso, si lo que quieres es agrupar los totales de
Código:
SELECT
Comprobante.ID,
Comprobante.conceptoPago,
Comprobante.montoPago,
Banco.Nombre,
Comprobante.numeroCheque,
Comprobante.cuentaCliente,
Comprobante.fechaEmision,
Comprobante.fechaCobro,
Beneficiario.NombreBeneficiario,
Comprobante.status
FROM Beneficiario INNER JOIN
(Banco INNER JOIN Comprobante ON Banco.ID = Comprobante.bancoEmisor)
ON Beneficiario.ID = Comprobante.beneficiario
por Banco, sería:
Código:
SELECT
Comprobante.ID,
Comprobante.conceptoPago,
Comprobante.montoPago,
Banco.Nombre,
Comprobante.numeroCheque,
Comprobante.cuentaCliente,
Comprobante.fechaEmision,
Comprobante.fechaCobro,
Beneficiario.NombreBeneficiario,
Comprobante.status
SUM((Comprobante.montoPago) AS Total
FROM Beneficiario INNER JOIN
(Banco INNER JOIN Comprobante ON Banco.ID = Comprobante.bancoEmisor)
ON Beneficiario.ID = Comprobante.beneficiario
GROUP BY Banco.Nombre
por Banco y Cuenta de Cliente:
Código:
SELECT
Comprobante.ID,
Comprobante.conceptoPago,
Comprobante.montoPago,
Banco.Nombre,
Comprobante.numeroCheque,
Comprobante.cuentaCliente,
Comprobante.fechaEmision,
Comprobante.fechaCobro,
Beneficiario.NombreBeneficiario,
Comprobante.status
SUM((Comprobante.montoPago) AS Total
FROM Beneficiario INNER JOIN
(Banco INNER JOIN Comprobante ON Banco.ID = Comprobante.bancoEmisor)
ON Beneficiario.ID = Comprobante.beneficiario
GROUP BY Banco.Nombre, Comprobante.cuentaCliente
y así sucesivamente.
Otro tip: usa alias para las tablas así no tienes q ue referirlas con nombres tan largos. De hecho, si no tienen nombres en común entre tablas, no hace falta decir de qué tabla provienen. Solamente cuando hay nombres iguales entre dos o más se producen problemas de ambigüedad de columnas y allí si tienes que definirlo.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |