Problemas con la clausula Group By en Foxpro

1,498 views
Skip to first unread message

victor velazquez

unread,
Feb 4, 2012, 4:24:47 PM2/4/12
to Comunidad de Visual Foxpro en Español
Buen dia foxeros.. esto atorado con esta clausula en fox


SELECT seccion_a,COUNT(edad) as edades,mapimg1,mapimg2 FROM
XLISTO WHERE edad>=Thisform.cont1.ore1.Value AND
edad<=Thisform.cont1.ore2.Value AND edad is NOT null GROUP BY
seccion_a,edad,mapimg1,mapimg2 ORDER BY EDADES DESC INTO CURSOR
DBGRAF readwrite

donde tengo instalado foxpro y sql corre normal. pero en un servidor
que tiene sql2000, no me esta corriendo,

me manda la casica leyenda que dice que la CLAUSUAL GROUP BY NO ES
VALIDA..
se ke tiene ke ver con el set enginebehavior valida solo hasta vfp8
pero de ke otra manera puedo solucionarla... saludos

Hugo Carlos Aguilar Zapata

unread,
Feb 4, 2012, 4:38:11 PM2/4/12
to publice...@googlegroups.com
el campo edad en el Group By no esta especifiacdo en los campos del Select

Viktor Velazquez

unread,
Feb 4, 2012, 4:42:03 PM2/4/12
to publice...@googlegroups.com
Aparte del COUNT(edad) as edades, tengo ke referenciarlo ?... probare.. 


Date: Sat, 4 Feb 2012 15:38:11 -0600
Subject: Re: [vfp] Problemas con la clausula Group By en Foxpro
From: hugocarl...@gmail.com
To: publice...@googlegroups.com

Aquilino Lopez C

unread,
Feb 4, 2012, 6:21:51 PM2/4/12
to publice...@googlegroups.com
prueba con :

GROUP BY
seccion_a,edades,mapimg1,mapimg2

Viktor Velazquez

unread,
Feb 4, 2012, 6:37:05 PM2/4/12
to publice...@googlegroups.com
prueba con :

GROUP BY
seccion_a,edades,mapimg1,mapimg2 

ya lo habia probado con esa opcion, no es por ahi



Date: Sun, 5 Feb 2012 00:21:51 +0100

Subject: Re: [vfp] Problemas con la clausula Group By en Foxpro

Lewis López

unread,
Feb 4, 2012, 6:46:02 PM2/4/12
to publice...@googlegroups.com
Hola, esto lo solucionas de estas forma.

SET ENGINEBEHAVIOR 70 

Tu consulta 


SET ENGINEBEHAVIOR 90

Saludos.


SOLUCIONES PC & REDES
Desarrollo de Software a la medida
Diseño de planos Arquitectónicos
Venta, reparación y mantenimiento de Computadores.
Lewis Oswaldo López Gómez .
Teg. En obras Civiles.
Analista y Programador de sistemas.
Cel: 311 665 0342
Correo:
Córdoba-Colombia




From: viv...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] Problemas con la clausula Group By en Foxpro
Date: Sat, 4 Feb 2012 23:37:05 +0000

Carlos Miguel FARIAS

unread,
Feb 4, 2012, 6:47:10 PM2/4/12
to publice...@googlegroups.com
SELECT seccion_a,COUNT(edad) as edades,mapimg1,mapimg2 FROM
XLISTO  WHERE edad>=Thisform.cont1.ore1.
Value AND
edad<=Thisform.cont1.ore2.Value AND  edad  is NOT null  GROUP BY
seccion_a,edad,mapimg1,mapimg2  ORDER BY EDADES DESC   INTO CURSOR
DBGRAF readwrite

Lo que está en verde (edad dentro del count) tenes que reemplazarlo por * (asterisco) o poner DISTINCT edad
Asi como está, estimo contaria aquellos registros donde la edad es distinta de nula?
Con * cuenta 1 por cada registro, con DISTINCT edad, cuenta la cantidad de edades diferentes del grupo
Lo que está en rojo (edad en el group by) tenes que sacarlo, al estar dentro de una función sumaria (en este caso count) no es necesario que este.
Saludos: Miguel

Viktor Velazquez

unread,
Feb 4, 2012, 7:35:08 PM2/4/12
to publice...@googlegroups.com
lo raro es ke en mi pc. que tengo instalado sql 2008 y vfp9 si correo bien.. y en un servidor que tiene sql2000 es instalado solo los drivers de vfp no me esta corriendo, me dice que el group by es una consulta invalida.. no doy... 


Date: Sat, 4 Feb 2012 20:47:10 -0300

Subject: Re: [vfp] Problemas con la clausula Group By en Foxpro

Viktor Velazquez

unread,
Feb 4, 2012, 9:26:55 PM2/4/12
to publice...@googlegroups.com
ya he probado con
 SET ENGINEBEHAVIOR 70 
consulta
SET ENGINEBEHAVIOR 90 

he kitado. edad del group by.. ,   nada en el servidor no corre me tira el mismo error..
y en mi pc donde estoy generando el exe no me sale ese error..
esto pensando ke tendre ke instalar el foxpro en el servidor ? 

Subject: RE: [vfp] Problemas con la clausula Group By en Foxpro
Date: Sun, 5 Feb 2012 00:35:08 +0000

Daniel Sánchez

unread,
Feb 5, 2012, 1:20:03 AM2/5/12
to publice...@googlegroups.com
Es todo lo contrario a lo que te han comentado, debes suprimir edad o edades ya que es un campo calculado no debe ir en el group by

Saludos

--
Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil +051-949398047
Trujillo - Perú

Carlos Miguel FARIAS

unread,
Feb 5, 2012, 8:38:26 AM2/5/12
to publice...@googlegroups.com
No fue lo que indique?, no llego con colores a vuestros correos?

Hugo Carlos Aguilar Zapata

unread,
Feb 5, 2012, 12:04:44 PM2/5/12
to publice...@googlegroups.com
dices

"lo raro es ke en mi pc. que tengo instalado sql 2008 y vfp9 si correo bien.. y en un servidor que tiene sql2000 es instalado solo los drivers de vfp no me esta corriendo, me dice que el group by es una consulta invalida.. no doy... "

Estas consultando directo a Tablas DE SQL Sever ?
si es asi, por lo que lei tienes diferentes versiones del manejador  de BD en los 2 equipos.
No he trabajado con MS Sql Server pero por ese lado puede ser tu problema, ya que la instruccion SQL que se manda es para el tipo de BD (DBFs, SQL Server, MySQL FireBird, etc) , que si bien manejan un standard, algunos tienen sus propias carateristicas, y no es el SQL del lenguaje en que haces la intefase (VFP)  lo que interpreta la BD sino su SQL y funciones propias.

Si consultas sobre tablas o cursores VFP,  entonces verifica que tengas la misma version de los runtime en los equipos que las ejecutan.

Viktor Velazquez

unread,
Feb 5, 2012, 7:24:07 PM2/5/12
to publice...@googlegroups.com
Aun sigo con este problema del group by esta es mi consulta que me esta corriendo

SET ENGINEBEHAVIOR 70


 SELECT seccion_a,COUNT(edad) as edades,mapimg1,mapimg2 FROM XLISTO WHERE edad>=Thisform.cont1.ore1.Value AND 
edad<=Thisform.cont1.ore2.Value AND edad is NOT null GROUP BY seccion_a,mapimg1,mapimg2 ORDER BY EDADES DESC
 INTO CURSOR DBGRAF readwrite

 SET ENGINEBEHAVIOR 90 
  
a alguien del foro le ha pasado.. con estas consultas  desde foxpro

Lo raro ke en mi pc si corre bien.. y cuando lo corro en un  windows server 2003, con sql server 2000 y las librerias de foxpro 9 

me manda el clasico error  SQL: la clausula GROUP BY falta o no es valida...

y en mi pc donde lo corro tengo SQL SERVER 2008 Y WINDOWS XP CON FOXPRO 9 SP2--





Date: Sun, 5 Feb 2012 01:20:03 -0500

Subject: Re: [vfp] Problemas con la clausula Group By en Foxpro

Walter R. Ojeda Valiente

unread,
Feb 5, 2012, 7:28:09 PM2/5/12
to publice...@googlegroups.com
¿Por qué no pruebas poniendo la función COUNT() como la última columna entre el SELECT y el FROM?

Saludos.

Walter.



Subject: [vfp] Problemas con la clausula Group By HELP!!!
Date: Mon, 6 Feb 2012 00:24:07 +0000

Viktor Velazquez

unread,
Feb 5, 2012, 7:44:36 PM2/5/12
to publice...@googlegroups.com
en mi pc si corre pero igual me sigue votando en el servidor...


From: wr...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] Problemas con la clausula Group By HELP!!!
Date: Mon, 6 Feb 2012 00:28:09 +0000

Walter R. Ojeda Valiente

unread,
Feb 5, 2012, 7:49:49 PM2/5/12
to publice...@googlegroups.com
Dos posibilidades más:

1. ¿Por qué no construyes el SELECT usando la cláusula BETWEEN?

2. ¿Por qué no construyes el SELECT usando constantes y no variables? Algo como:
     SELECT seccion_a, mapimg1, mapimg2, COUNT(edad) as edades FROM XLISTO WHERE edad >= 18 AND edad <= 25

Saludos.

Walter.



Subject: RE: [vfp] Problemas con la clausula Group By HELP!!!
Date: Mon, 6 Feb 2012 00:44:36 +0000

Viktor Velazquez

unread,
Feb 5, 2012, 8:26:34 PM2/5/12
to publice...@googlegroups.com
probe con las dos opciones.. me arroja lo mismo...
me vota el mismo  error ya empiezo a pensar que probablemente sea la version de   sql. o ke tenga que instalar el vfp en el servidor..no doy...


From: wr...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] Problemas con la clausula Group By HELP!!!
Date: Mon, 6 Feb 2012 00:49:49 +0000

Walter R. Ojeda Valiente

unread,
Feb 5, 2012, 9:02:58 PM2/5/12
to publice...@googlegroups.com
¿Puedes "ver" al servidor? ¿Has hecho un PING a él?
¿Puedes ver otras consultas?
¿Tienes el driver ODBC correcto instalado?

Saludos.

Walter.




From: viv...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] Problemas con la clausula Group By HELP!!!
Date: Mon, 6 Feb 2012 01:26:34 +0000

Viktor Velazquez

unread,
Feb 5, 2012, 9:22:44 PM2/5/12
to publice...@googlegroups.com
no uso consultas odbc..  entro al servidor por acceso remoto.. y ejecuto el sistema en el servidor. y otras consultas si funcionan,, solo ke estas consultas las hago desde sql..

aki, por la dificultad de la consulta la arme con consultas de foxpro pero me tope con este inconveniente de fox. ke solo aplica en la version 7.. ya en la version 8 da este error

otra seria armar esa consulta desde las tablas de sql-- tengo como 5 meses dandole a sql server 2008, y quice realizarlo por aca...

elproblema este este. a ver si me puedes ayudar..

tengo una tabla llamada casillas.. campos seccion,mapimg1,mapimg2

una tabla padron, donde tengo un campo seccio y edad

lo que pretendo es hacer una consulta a padron. buscando la edad  min y max,  y  y en casillas  sacar las secciones involucradas en el padron.. y sacar  cuantas personas existen  con esos rangos por seccion 

en si tener  los resultados de la consulta de padron pero tambien por seccion,. cuantas personas existes con este rango de busquedas

en padron. tengo clave, nombre, direccion, seccion,edad 
sobre la lista de padro necesirto sacar este fltro ke cumplan ese rando de edades
y por otro lado  otra tabla sacada de la consulta del padro, estos valores


secciones     encontrados
10                    2
50                    5
65                    3

a ver si me di a entender...






From: wr...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] Problemas con la clausula Group By HELP!!!
Date: Mon, 6 Feb 2012 02:02:58 +0000

Walter R. Ojeda Valiente

unread,
Feb 5, 2012, 9:32:30 PM2/5/12
to publice...@googlegroups.com
Si las consultas SQL te funcionan y las consultas desde VFP no, entonces hay algo que estás haciendo mal. No manejo SQL Server así que no podré serte de ayuda con eso. Pero hay otros compañeros de grupo que sí lo utilizan, supongo que ellos podrán orientarte.

Saludos.

Walter.




From: viv...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] Problemas con la clausula Group By HELP!!!
Date: Mon, 6 Feb 2012 02:22:44 +0000

Viktor Velazquez

unread,
Feb 5, 2012, 9:37:29 PM2/5/12
to publice...@googlegroups.com
ok gracias walter-- muy agradecido..vere si encuentro al alguien.. ke me diga como sacar este embrollo.. saludos


From: wr...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] Problemas con la clausula Group By HELP!!!
Date: Mon, 6 Feb 2012 02:32:30 +0000

Pablo Daniel

unread,
Feb 6, 2012, 7:11:53 AM2/6/12
to Comunidad de Visual Foxpro en Español
Hola:

¿Qué tipos de datos manejás? Posiblemente tengas problemas por ese
lado. A mí las agrupaciones con campos tipo TEXT, por ejemplo, no me
funcionan.

Pregunto sobre todo por los campos mapimg1 y mapimg2.

Saludos.



On 5 feb, 23:37, Viktor Velazquez <vive...@hotmail.com> wrote:
> ok gracias walter-- muy agradecido..vere si encuentro al alguien.. ke me diga como sacar este embrollo.. saludos
>
> From: w...@hotmail.com
> To: publice...@googlegroups.com
> Subject: RE: [vfp] Problemas con la clausula Group By  HELP!!!
> Date: Mon, 6 Feb 2012 02:32:30 +0000
>
> Si las consultas SQL te funcionan y las consultas desde VFP no, entonces hay algo que estás haciendo mal. No manejo SQL Server así que no podré serte de ayuda con eso. Pero hay otros compañeros de grupo que sí lo utilizan, supongo que ellos podrán orientarte.
>
> Saludos.
>
> Walter.
>
> From: vive...@hotmail.com
> To: publice...@googlegroups.com
> Subject: RE: [vfp] Problemas con la clausula Group By  HELP!!!
> Date: Mon, 6 Feb 2012 02:22:44 +0000
>
> no uso consultas odbc..  entro al servidor por acceso remoto.. y ejecuto el sistema en el servidor. y otras consultas si funcionan,, solo ke estas consultas las hago desde sql..
>
> aki, por la dificultad de la consulta la arme con consultas de foxpro pero me tope con este inconveniente de fox. ke solo aplica en la version 7.. ya en la version 8 da este error
>
> otra seria armar esa consulta desde las tablas de sql-- tengo como 5 meses dandole a sql server 2008, y quice realizarlo por aca...
>
> elproblema este este. a ver si me puedes ayudar..
>
> tengo una tabla llamada casillas.. campos seccion,mapimg1,mapimg2
>
> una tabla padron, donde tengo un campo seccio y edad
>
> lo que pretendo es hacer una consulta a padron. buscando la edad  min y max,  y  y en casillas  sacar las secciones involucradas en el padron.. y sacar  cuantas personas existen  con esos rangos por seccion
>
> en si tener  los resultados de la consulta de padron pero tambien por seccion,. cuantas personas existes con este rango de busquedas
>
> en padron. tengo clave, nombre, direccion, seccion,edad
> sobre la lista de padro necesirto sacar este fltro ke cumplan ese rando de edades
> y por otro lado  otra tabla sacada de la consulta del padro, estos valores
>
> secciones     encontrados
> 10                    2
> 50                    5
> 65                    3
>
> a ver si me di a entender...
>
> From: w...@hotmail.com
> To: publice...@googlegroups.com
> Subject: RE: [vfp] Problemas con la clausula Group By  HELP!!!
> Date: Mon, 6 Feb 2012 02:02:58 +0000
>
> ¿Puedes "ver" al servidor? ¿Has hecho un PING a él?
> ¿Puedes ver otras consultas?
> ¿Tienes el driver ODBC correcto instalado?
>
> Saludos.
>
> Walter.
>
> From: vive...@hotmail.com
> To: publice...@googlegroups.com
> Subject: RE: [vfp] Problemas con la clausula Group By  HELP!!!
> Date: Mon, 6 Feb 2012 01:26:34 +0000
>
> probe con las dos opciones.. me arroja lo mismo...
> me vota el mismo  error ya empiezo a pensar que probablemente sea la version de   sql. o ke tenga que instalar el vfp en el servidor..no doy...
>
> From: w...@hotmail.com
> To: publice...@googlegroups.com
> Subject: RE: [vfp] Problemas con la clausula Group By  HELP!!!
> Date: Mon, 6 Feb 2012 00:49:49 +0000
>
> Dos posibilidades más:
>
> 1. ¿Por qué no construyes el SELECT usando la cláusula BETWEEN?
>
> 2. ¿Por qué no construyes el SELECT usando constantes y no variables? Algo como:
>      SELECT seccion_a, mapimg1, mapimg2, COUNT(edad) as edades  FROM  XLISTO  WHERE edad >= 18 AND edad <= 25
>
> Saludos.
>
> Walter.
>
> From: vive...@hotmail.com
> To: publice...@googlegroups.com
> Subject: RE: [vfp] Problemas con la clausula Group By  HELP!!!
> Date: Mon, 6 Feb 2012 00:44:36 +0000
>
> en mi pc si corre pero igual me sigue votando en el servidor...
>
> From: w...@hotmail.com
> To: publice...@googlegroups.com
> Subject: RE: [vfp] Problemas con la clausula Group By  HELP!!!
> Date: Mon, 6 Feb 2012 00:28:09 +0000
>
> ¿Por qué no pruebas poniendo la función COUNT() como la última columna entre el SELECT y el FROM?
>
> Saludos.
>
> Walter.
>
> From: vive...@hotmail.com
> To: publice...@googlegroups.com
> Subject: [vfp] Problemas con la clausula Group By  HELP!!!
> Date: Mon, 6 Feb 2012 00:24:07 +0000
>
> Aun sigo con este problema del group by esta es mi consulta que me esta corriendo
>
>                 SET ENGINEBEHAVIOR 70
>
>  SELECT seccion_a,COUNT(edad) as edades,mapimg1,mapimg2 FROM  XLISTO  WHERE edad>=Thisform.cont1.ore1.Value AND
> edad<=Thisform.cont1.ore2.Value AND  edad  is NOT null  GROUP BY seccion_a,mapimg1,mapimg2  ORDER BY EDADES DESC
>  INTO CURSOR DBGRAF readwrite
>
>  SET ENGINEBEHAVIOR 90
>
>   a alguien del foro le ha pasado.. con estas consultas  desde foxpro
>
> Lo raro ke en mi pc si corre bien.. y cuando lo corro en un  windows server 2003, con sql server 2000 y las librerias de foxpro 9
>
> me manda el clasico error  SQL: la clausula GROUP BY falta o no es valida...
>
> y en mi pc donde lo corro tengo SQL SERVER 2008 Y WINDOWS XP CON FOXPRO 9 SP2--
>
> Date: Sun, 5 Feb 2012 01:20:03 -0500
> Subject: Re: [vfp] Problemas con la clausula Group By en Foxpro
> From: resetsoftw...@gmail.com

Carlos Miguel FARIAS

unread,
Feb 6, 2012, 8:12:27 AM2/6/12
to publice...@googlegroups.com
No me queda claro el escenario.
Si en el servidor tengo SQL Server, no necesito instalar vfp en el
servidor para acceder a las bd en él. El tema es. El programa o
entorno que da error, está en el servidor o como está haciendo la
conexión.
Desde una consola de sql server (donde te da error), probaste de
correr la sentencia sql que te marca error.
Porque si no anda directamente en el servidor, no es problema de vfp
ni de la conexion.
Logras hacer una consulta mas simple (un select * from unatabla) a ese
mismo servidor, si es asi, no es problema de conexion.
Saludos: Miguel, La Pampa (RA)

El 06/02/12, Pablo Daniel <pablo.dan...@gmail.com> escribió:

Guillermo MDQ

unread,
Feb 6, 2012, 8:55:48 AM2/6/12
to Comunidad de Visual Foxpro en Español
Coincido con lo que indico Carlos Miguel.
Tambien lo que puedes hacer es hacer el Select y el Order By solo con
un campo a la vez, dejando los campos calculados para lo ultimo.
De esa manera si va funcionando bien, te va a aperecer en algun
momento el campo que te genera el conflicto.

Saludos
Guillermo


On 6 feb, 10:12, Carlos Miguel FARIAS <carlosmiguelfar...@gmail.com>
wrote:
> No me queda claro el escenario.
> Si en el servidor tengo SQL Server, no necesito instalar vfp en el
> servidor para acceder a las bd en él. El tema es. El programa o
> entorno que da error, está en el servidor o como está haciendo la
> conexión.
> Desde una consola de sql server (donde te da error), probaste de
> correr la sentencia sql que te marca error.
> Porque si no anda directamente en el servidor, no es problema de vfp
> ni de la conexion.
> Logras hacer una consulta mas simple (un select * from unatabla) a ese
> mismo servidor, si es asi, no es problema de conexion.
> Saludos: Miguel, La Pampa (RA)
>
> El 06/02/12, Pablo Daniel <pablo.daniel.li...@gmail.com> escribió:

mpulla

unread,
Feb 6, 2012, 11:09:25 AM2/6/12
to Comunidad de Visual Foxpro en Español
Hola Victor.

Por lo que entiendo Sql Server 2000 te devuelve el cursor XLISTO y al
ejecutar el Sql sobre XLISTO te da error.

Se me ocurre:

1.- Verifica el tipo de datos del cursor, por el nombre mapimg1 y
mapimg2, son de tipo no admitidos por Group By.

2.- Si dices que Sql Server 20008 funciona y en 2000 no, entonces
puede ser que los tipos de datos son diferentes, verifica que el tipo
de datos sean correctos.

Saludos.
Mauricio

Viktor Velazquez

unread,
Feb 6, 2012, 2:28:16 PM2/6/12
to publice...@googlegroups.com
si algo estaba leyendo de portalfox. con esas restricciones. gracias mauricio... 

> Date: Mon, 6 Feb 2012 08:09:25 -0800
> Subject: [vfp] Re: Problemas con la clausula Group By HELP!!!
> From: jmaur...@yahoo.es
> To: publice...@googlegroups.com

Viktor Velazquez

unread,
Feb 6, 2012, 2:37:06 PM2/6/12
to publice...@googlegroups.com
al principio intente subir las imagenes en un campo imagen pero me dio ese problema . asi ke mejor estoy guardando la ruta de imagen.. variable.. los campos mapimg1 y 1 estan como nvarchar  intentare sacando estos campos de la consulta como dice.. gracias-- por responder 


Subject: RE: [vfp] Re: Problemas con la clausula Group By HELP!!!
Date: Mon, 6 Feb 2012 19:28:16 +0000

Viktor Velazquez

unread,
Feb 6, 2012, 3:19:46 PM2/6/12
to publice...@googlegroups.com
problema solicionado.. creo estaba dando palos de ciero.. en la tabla del servidor el campos seccion estaba con 255 chr y me lo estaba mandando como campo memo.. eso en el select de fox no esta permitido. y cuando es asi,. segun en portalfox se debe usar la funcion PADR() O ALLTRIM... gracias a todos por la ayuda.. 


From: viv...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] Re: Problemas con la clausula Group By HELP!!!
Date: Mon, 6 Feb 2012 19:37:06 +0000
Reply all
Reply to author
Forward
0 new messages