Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Error Usando clausula HAVING en Windows sin Delphi (https://www.clubdelphi.com/foros/showthread.php?t=40654)

ElGatitoTapatio 22-02-2007 21:20:14

Error Usando clausula HAVING en Windows sin Delphi
 
Saludos a todos!!! ojala me puedan auxiliar porque ya le busque por todos lados y no le hayo!! :confused:
Ahi va, haber si me explico, estoy haciendo una aplicacion en Delphi con la cual hago una consulta de la siguiente forma:
Código:

  with IBQuery_ComiCedis do
    Begin
      Close;
      with SQL do
        begin
          Clear;
          Add('SELECT E.ID,C.IDCEDIS,E.NOMBRE AS NOMBRECEDIS,SUM(C.COMISIONES) '+
              'FROM COMISIONESENI C,CEDIS E '+
              'GROUP BY C.IDCEDIS,E.NOMBRE '+
              'HAVING (E.ID = C.IDCEDIS)');
          Open;
        end;
    end;

Compilo y pruebo el sistema, y pues todo lindo funciona muy bien ningun error. Pero ohh sorpresa llevo mi programa al equipo donde va a funcionar, es decir con el cliente, es decir nuevamente no tiene delphi, lo ejecuto y zaz al llegar a esa parte de codigo me marca el siguiente error:


Dynamic SQL Error
SQL error code = -104
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause)


La verdad es que no se por donde buscarle y se me hace muy raro que funcione con los equipos donde programo y en los que no tienen delphi no funciona, cabe señalar que si tiene firebird instalado, digo por si me querian responder eso jejeje. A lo unico que he podido medio deducir es que es un problema con la clausula HAVING y que hice pruebas quitando ese filtro y si funciona, lamentablemente si necesito hacer ese filtro.

Otra cosa es que, intente ejecutar el sistema desde equipo con delphi direccionando la base de datos a una maquina sin delphi, y pues tambien me marca error al llegar a esa parte sin embargo es un error diferente y es el siguiente.


Dynamic SQL Error
SQL error code = -104
user name required.


Por favor ayuda!!!! que me estoy traumando :eek:

jhonny 22-02-2007 21:31:50

Una pregunta, ¿Porque no quitas ese Having y colocas un Where?, de manera que quede asi...

Código SQL [-]
select e.id,c.idcedis,e.nombre as nombrecedis,sum(c.comisiones)
from comisioneseni c,cedis e
where (e.id = c.idcedis)
group by c.idcedis,e.nombre

Esto terminaria haciendo lo que necesitas...

jhonny 22-02-2007 21:49:36

Se me paso cierto errorsito de sintaxis, pues que te falta incluir el campo "e.id" en el group by... y todo quedaria asi:

Código SQL [-]
 
select e.id, c.idcedis, e.nombre as nombrecedis,sum(c.comisiones)
from comisioneseni c,cedis e
where (e.id = c.idcedis)
group by e.id, c.idcedis, e.nombre

ElGatitoTapatio 22-02-2007 22:02:59

Estoy haciendo pruebas
 
Fijate que eso no se me habia ocurrido, a veces me paso de principiante, en este momento estoy haciendo pruebas, en un rato mas aviso resultados... gracias

ElGatitoTapatio 22-02-2007 22:36:43

Problema resuelto..
 
Jonhy muchisimas gracias, si se solucionó el problema con la solucion que me diste, la verdad es que estaba cegado jejeje :D

Fijate que no necesite agregar el campo al group by, solo cambie la sentencia HAVING por WHERE y la puse en su lugar correcto por supuesto y al parecer pos ya quedo.

Ahora solo me queda la incognita del porque en equipos con delphi instalado si funcionaba y en los otros no :( , pero por el momento voy a decir que es cosa del diablo!! :p

Muchas gracias sobre todo por la rapidez de tu respuesta y ahi seguimos en contacto..

jhonny 22-02-2007 22:57:16

Bueno, pues me alegra que todo vaya bien... y claro que seguiremos en contacto y no solo conmigo si no con todos los integrantes de esta gran comunidad.


La franja horaria es GMT +2. Ahora son las 02:35:45.

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