Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-04-2007
desve desve is offline
Miembro
 
Registrado: mar 2005
Ubicación: Chihuahua, Mexico
Posts: 32
Poder: 0
desve Va por buen camino
Problema con SUM en MYSQL al hacer el query

Hola, Antes que nada un saludo a todos.


Queria pedir su ayuda ya que me encuentro con el siguiente problema y no he podido resolverlo de ninguna manera y ya tengo un rato tratando de diferentes formas.


EL problema es el siguiente.

Tengo el siguiente codigo SQL que hace referencia una tabla de comprobaciones de gastos.

Código SQL [-]
size="1">
SELECT sum( cantidad ) AS depositados
FROM comprobaciones c
WHERE c.id_tipo_mov =1
AND c.id_personal = 'chi1124';

el cual me funciona perfectamente sobre phpmyadmin.




pero al meterlo dentro de la propiedad sql de un adoquery, con el que estoy trabajando mysql.....





surge el siguiente problema... me dice que la operacion en varios pasos genero errores, que compruebe....



El detalle es que quitandole el SUM de la consulta me funciona perfectamente, pero yo necesito utilizar el sum, ya intente con mayusculas, minusculas, espacios en diferentes lugares entre los parentesis, etc y no me trabaja.

Anteriormente tuve un problema parecido con una funcion UPPER, pero esta me funciono acomodando espacios tal como lo intente en este caso pero no me trabaja, por lo cual pido su valiosa ayuda si alguien ha tenido algun problema parecido, o sabe como resolverlo.

Última edición por desve fecha: 24-04-2007 a las 19:36:28. Razón: intento poner imagenes, en el post para ilustrar pero no esta habilitado img ni html, asi es un poco dificil ilustrar, y no encuentro opciones para habilitarlo
Responder Con Cita
  #2  
Antiguo 24-04-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola desve
Aqui lo unico que se me ocurre pensar en el el tipo de campo
c.id_tipo_mov , es numerico ?
c.id_personal , lo defines como un campo string o texto, segun la sentencia sql.
Bueno podria estar por ese lado el problema.
Saludos
Responder Con Cita
  #3  
Antiguo 24-04-2007
desve desve is offline
Miembro
 
Registrado: mar 2005
Ubicación: Chihuahua, Mexico
Posts: 32
Poder: 0
desve Va por buen camino
Hola

Esta es la estructura de la tabla.


id_personal varchar(8)
fecha date
id_tipo_mov int(11)
cantidad int(11)



Aqui el detalle creo yo es un poco extraño, ya que desde phpmyadmin corre perfecta la consulta y en delphi exactamente la misma consulta no corre.
Responder Con Cita
  #4  
Antiguo 24-04-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Aqui sigo sin entender que hace la c marcada en rojo:
Código SQL [-]
size="1">
SELECT sum( cantidad ) AS depositados
FROM comprobaciones c
WHERE c.id_tipo_mov =1
AND c.id_personal = 'chi1124';
Me explicas
Saludos
Responder Con Cita
  #5  
Antiguo 24-04-2007
desve desve is offline
Miembro
 
Registrado: mar 2005
Ubicación: Chihuahua, Mexico
Posts: 32
Poder: 0
desve Va por buen camino
esta C esta ahi por que realmente este era un subquery de una consulta mas compleja, esta trabaja como ALIAS, donde hacia un sum a los depositos, y otro a las comprobaciones.

Esto es algo que se me olvido quitar, pero que realmente no afecta en nada.

Para enriquecer el comentario....


Esto no funciona directamente sobre el ADOQUERY.... pero si funciona sobre PHP MYADMIN

Código SQL [-]
SELECT SUM(cantidad)
FROM comprobaciones
WHERE id_tipo_mov=1
AND id_personal = 'chi1124';


Esto si funciona perfectamente sobre ADOQUERY y sobre PHP MYADMIN

Código SQL [-]
SELECT cantidad
FROM comprobaciones
WHERE id_tipo_mov=1
AND id_personal = 'chi1124';

Última edición por desve fecha: 24-04-2007 a las 20:04:08.
Responder Con Cita
  #6  
Antiguo 24-04-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Bueno aqui ya no me queda otra que pensar en comillas:
Código SQL [-]
size="1">
SELECT sum( cantidad ) AS depositados
FROM comprobaciones c
WHERE c.id_tipo_mov =1
AND c.id_personal = "chi1124";
Algunas bases de datos como access no reconocen ciertos string sin doble comilla.
No se prueba
Saludos
Responder Con Cita
  #7  
Antiguo 24-04-2007
desve desve is offline
Miembro
 
Registrado: mar 2005
Ubicación: Chihuahua, Mexico
Posts: 32
Poder: 0
desve Va por buen camino
hey

Mira no se si me pueda explicar pero, la sintaxis basica no es el problema,,,,, no si si estes leyendo el codigo ke estoy escribiendo, las comillas no son el problema ya que funcionan sin el sum y con el sum no funcionan.

voy mas a que pudiese estar yo equivocado en alguna otra cosa, por que tambien dentro de este desarrollo me han salido algunos errores, como que las funciones SUM o UPPER no existen.

La conexion con mysql la hago por medio de ODBC

con la siguiente conection string.


Provider=MSDASQL.1;Persist Security Info=False;User ID=remoto;Data Source=LNXBD;Extended Properties="DATABASE=lnxbd;DSN=LNXBD;OPTION=3;PORT=0;SERVER=192.168.1.84;UID=remoto"



creo yo que pudiera ser mas factible un problema por ese lado, aunque lo dudo.

Agradezco tu ayuda amigo, pero creeme que el detalle en este caso no va a ser una comilla, o una C que sobra, por que yo ya pase un par de horas tratando de diferentes maneras.

ADEMAS DE QUE MENCIONE QUE SI FUNCIONA EN MYSQL PERO EN DELPHI NO.

Lo que lleva a pensar que es algun problema de driver o conexion creo yo entre mysql y delphi, lo que en ciertos casos lleva a no encontrar las funciones o que supongo yo deben estar guardadas por librerias, etc.
Responder Con Cita
  #8  
Antiguo 24-04-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Bueno la verdad no me convence la teoria de la conexion, delphi para mi tampoco tiene nada que ver, nada mas opino.
La verdad no me gusta la conexion con odbc a mysql la veo lenta, prefiero usar otro componente como zeos, facil, rapido, efectivo y simple.
Si piensas que es la conexion usa otro medio para conectarte, No?
Humilde opinion.
Saludos
Responder Con Cita
  #9  
Antiguo 25-04-2007
desve desve is offline
Miembro
 
Registrado: mar 2005
Ubicación: Chihuahua, Mexico
Posts: 32
Poder: 0
desve Va por buen camino
Pos

pos ni hablar, tuve que hacer un query de las filas que queria y hacer un barrido a pie para sumar los valores.


de cualquier manera si alguien sabe la razon de este problema le agradeceria posteara.

Hasta luego.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Hacer un Query de otro Query francisco260184 SQL 9 10-04-2007 03:46:18
Como hacer referencia a un query dentro de otro query? JuanBCT SQL 2 05-09-2006 18:35:25
Hacer query con dos DB en FireBird El_Raso Firebird e Interbase 9 20-10-2005 17:19:37
Como hacer un Query con dbf y Sql Leomar SQL 0 02-02-2005 14:28:52
Hacer preguntas en un query IVAND SQL 2 28-11-2003 23:07:18


La franja horaria es GMT +2. Ahora son las 15:43:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi