Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

no se donde

Estas en el tema de no se donde en el foro de Bases de Datos General en Foros del Web. buenas... tengo esta sentencias: Código PHP: SELECT Comprobante . ID ,  Comprobante . conceptoPago ,  Comprobante . montoPago ,  Banco . Nombre ,  Comprobante . numeroCheque ...
  #1 (permalink)  
Antiguo 30/07/2008, 22:47
Avatar de RucarMaN  
Fecha de Ingreso: julio-2003
Ubicación: Caripito Edo Monagas
Mensajes: 169
Antigüedad: 21 años, 4 meses
Puntos: 1
no se donde

buenas... tengo esta sentencias:
Código PHP:
SELECT Comprobante.IDComprobante.conceptoPagoComprobante.montoPagoBanco.NombreComprobante.numeroChequeComprobante.cuentaClienteComprobante.fechaEmisionComprobante.fechaCobroBeneficiario.NombreBeneficiarioComprobante.status
FROM Beneficiario INNER JOIN 
(Banco INNER JOIN Comprobante ON Banco.ID Comprobante.bancoEmisorON Beneficiario.ID Comprobante.beneficiario
Ok con varios criterios....todo bien pero quiero agregarle esto:
Código PHP:
Sum(Comprobante.montoPago)AS Total 


estoy en ASP y Access (luego la paso a MySQL) HELP ME...
__________________
Con la ayuda de todos seremos mejores...

http://www.pemoweb.com
  #2 (permalink)  
Antiguo 01/08/2008, 07:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
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)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:29.