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

AUXILIO!!! suma entre campos mysql

Estas en el tema de AUXILIO!!! suma entre campos mysql en el foro de Mysql en Foros del Web. select tblcontratos.total,tblcontratos.f_creacion,tblcont ratos.contrato, tblrecibos.a36,tblrecibos.fecha_creado,DATEDIFF(tb lrecibos.fecha_creado,tblcontratos.f_creacion) as diferencia,SUM(tblrecibos.a36, tblrecibos.a37) as total_abono from tblrecibos,tblcontratos where tblrecibos.a11 = 3098 hola amigos tengo un problema con la consulta de ...
  #1 (permalink)  
Antiguo 04/10/2010, 13:52
 
Fecha de Ingreso: marzo-2009
Mensajes: 120
Antigüedad: 15 años, 1 mes
Puntos: 1
AUXILIO!!! suma entre campos mysql

select tblcontratos.total,tblcontratos.f_creacion,tblcont ratos.contrato, tblrecibos.a36,tblrecibos.fecha_creado,DATEDIFF(tb lrecibos.fecha_creado,tblcontratos.f_creacion) as diferencia,SUM(tblrecibos.a36, tblrecibos.a37) as total_abono from tblrecibos,tblcontratos where tblrecibos.a11 = 3098


hola amigos tengo un problema con la consulta de arriba en la parte SUM(num,num2), el resto de la consulta se ejecuta con exito si le quito ese campo SUM.

los campos a36 y a37 existen en la tabla tblrecibos, y ya los he modificado a int, double, decimal, esperando que funcione pero no tengo exito, por favor ayudenme.
  #2 (permalink)  
Antiguo 04/10/2010, 13:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: AUXILIO!!! suma entre campos mysql

¿y piensas que es un problema que debe ir en el foro de PHP?

osea, vamos... que una consulta de SQL, corresponde al lenguaje de SQL no PHP.... por lo tanto SUM() es una función de SQL, y no de PHP!!

aunque como tip, ¿si ejecutas la consulta en phpMyAdmin que sucede?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 04/10/2010, 13:59
 
Fecha de Ingreso: marzo-2009
Mensajes: 120
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: AUXILIO!!! suma entre campos mysql

estoy ejecutando la consulta desde el phpmyadmin pegando el script.. no encontre foro mysql crei que era un subforo de php...

cuando pego la consulta de arriba el phpmydqmin me dice que hay un error, no me dice cual, y que consulte la sintaxis de mysql.
  #4 (permalink)  
Antiguo 04/10/2010, 14:00
 
Fecha de Ingreso: marzo-2009
Mensajes: 120
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: AUXILIO!!! suma entre campos mysql

la verdad no se que pasa he consultado en google y todos dicen que es SUM(a,b) as c.

pero no me da, me bota error
  #5 (permalink)  
Antiguo 04/10/2010, 14:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: AUXILIO!!! suma entre campos mysql

¿no te dice cual error?

de verdad, echale mas ganas y ejecuta la consulta manualmente... usa mysql_error() para descubrir el mensaje de error...

y por favor, no olvides postearlo completamente!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 04/10/2010, 14:10
 
Fecha de Ingreso: marzo-2009
Mensajes: 120
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: AUXILIO!!! suma entre campos mysql

hasta aca me la bota perfecto:


select tblcontratos.total,tblcontratos.f_creacion,tblcont ratos.contrato, tblrecibos.a36,tblrecibos.fecha_creado,DATEDIFF(tb lrecibos.fecha_creado,tblcontratos.f_creacion) as diferencia from tblrecibos,tblcontratos where tblrecibos.a11 = tblcontratos.contrato

Pera aca:

select tblcontratos.total,tblcontratos.f_creacion,tblcont ratos.contrato, tblrecibos.a36,tblrecibos.fecha_creado,DATEDIFF(tb lrecibos.fecha_creado,tblcontratos.f_creacion) as diferencia, SUM(tblrecibos.a36,tblrecibos.a37) as sumrec from tblrecibos,tblcontratos where tblrecibos.a11 = tblcontratos.contrato

me bota este error:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'tblrecibos.a37) as sumrec from tblrecibos,tblcontratos where tblrecibos.a11 = tb' at line 1
  #7 (permalink)  
Antiguo 04/10/2010, 14:18
 
Fecha de Ingreso: marzo-2009
Mensajes: 120
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: AUXILIO!!! suma entre campos mysql

ejecuto SUM(2,5) as total , en la consola y botengo el mismo error
  #8 (permalink)  
Antiguo 04/10/2010, 14:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Tema movido desde PHP a Mysql
  #9 (permalink)  
Antiguo 04/10/2010, 14:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: AUXILIO!!! suma entre campos mysql

según entiendo, para usar dos variables de SQL primero debes seleccionarlas... y por lo que se lee, solo seleccionas el campo a36, pero no el a37

¿crees que sea por eso?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 04/10/2010, 14:25
 
Fecha de Ingreso: marzo-2009
Mensajes: 120
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: AUXILIO!!! suma entre campos mysql

no, obtengo el mismo error.
  #11 (permalink)  
Antiguo 04/10/2010, 14:37
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: AUXILIO!!! suma entre campos mysql

SUM se usa sobre un valor, no sobre 2 separados por coma.
SELECT (campo1+campo2) total FROM tutabla
SELECT SUM(campo1) totcampo1 from tutabla
SELECT SUM(campo1+campo2) totcampos FROM tutabla

y naturalmente puedes agrupar
SELECT YEAR(campofecha), SUM(campo1) FROM tutabla GROUP BY YEAR(campofecha)
aquí te sumará los valores del campo1 por años...
  #12 (permalink)  
Antiguo 04/10/2010, 15:23
 
Fecha de Ingreso: marzo-2009
Mensajes: 120
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: AUXILIO!!! suma entre campos mysql

ok resuelto

SUM(columna), suma todos los valores de una misma columna de un resulset

estaba mal aplicado.

la solucion es esta.

tblrecibos.a27+tblrecibos.a37+tblrecibos.a36 as total

select tblcontratos.total,tblrecibos.saldor,tblcontratos. f_creacion,tblcontratos.contrato, tblrecibos.a36, tblrecibos.a37, tblrecibos.a27,tblrecibos.a27+tblrecibos.a37+tblre cibos.a36 as total,tblrecibos.fecha_creado,DATEDIFF(tblrecibos. fecha_creado,tblcontratos.f_creacion) as diferencia from tblcontratos
LEFT JOIN tblrecibos ON tblrecibos.a11 = tblcontratos.contrato

gracias a todos

Etiquetas: auxilio, campos, suma
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 20:18.