ERROR GROUP BY CONSULTA SQL

21/02/2005 - 15:36 por JRBM | Informe spam
Estoy trabajando en la versión 7 y acabo de instalar la 8, cuando corrir el
programa correspondiente a este codigo sql me arrojó el siguiente error.
El numero del error es el 1807 - GROUP BY clause is invalid; por que sucede
esto, que debo hacer, como lo soluciono, GRACIAS


SELECT uv.ctgria_prcio CATEGORIA, pd.undad_vnta CLIENTE,uv.nmbre
NOMBRE_CLIENTE, ct.dscrpcion NOMBRE_CATEGORIA;
, pr.cdgo_plu PLU, pt.nmbre_prdcto NOMBRE_PRODUCTO ;
, (ALLTRIM(STR(pt.Pzas)) +" "+ pt.Envse +" = "+ ALLTRIM(STR(pt.Cntdad))+"
" + pt.Undad) PRESENTACION;
,sum(pr.cntdad_pzas_pd) CANT_PEDIDA_PZA;
,sum(pr.cntdad_pdda) CANT_PEDIDA_KIL;
,sum(pr.cntdad_pzas_dp) CANT_DESPACHO_PZA;
,sum(pr.cntdad_dspcho) CANT_DESPACHO_KIL;
, IIF(inlist(pt.envse ,'PQT','VIR','UND','BOL','BRR'),
sum(pr.cntdad_pzas_pd), sum(pr.cntdad_pdda)) CANTIDAD_PEDIDA;
, IIF(inlist(pt.envse, 'PQT','VIR','UND','BOL','BRR'),
sum(pr.cntdad_pzas_dp), sum(pr.cntdad_dspcho)) CANTIDAD_DESPACHO;
, 0,000.0 CUMPLIMIENTO;
from pddo_dspcho pd, pddo_dspcho_prd pr, unddes_vntas uv, prdctos pt,
ctgria_prcios ct ;
Where BETWEEN(pd.fcha_dspcho, dFechai,dFechaf) ;
And pd.tpo_pddo in ('P','F','L') ;
And pd.estdo >= 2 ;
AND BETWEEN(uv.ctgria_prcio,nCAT,nCAT2);
And pd.pddo = pr.pddo ;
And pd.undad_vnta = uv.undad_vnta ;
And pr.cdgo_plu = pt.cdgo_plu ;
AND uv.ctgria_prcio = ct.ctgria_prcio;
GROUP BY uv.ctgria_prcio, pd.undad_vnta, pr.cdgo_plu ;
ORDER BY uv.ctgria_prcio, pd.undad_vnta, pr.cdgo_plu INTO CURSOR
tmp_reporte READWRITE

Preguntas similare

Leer las respuestas

#1 Edhin Jiménez
21/02/2005 - 15:46 | Informe spam
Hola JRBM (seria bueno saber tu nombre)

Desde la versión 8, se esta depurando el motor de datos del SQL para que sea
compatible con el SQL Server y otras aplicaciones. En la cláusula GROUP BY
debes incluir todos los campos de la lista del SELECT excepto campos
contenidos en una función que los reúna.

También puedes usar el comando siguiente, para que tu aplicación sea
compatible con el SQL de la versión 7 y anteriores.
SET ENGINEBEHAVIOR 70

Saludos cordiales,

T.S.U. Edhin Jiménez
Coordinador Estatal Zulia
PortalFox Venezuela
Maracaibo, Venezuela

"JRBM" escribió en el mensaje
news:
Estoy trabajando en la versión 7 y acabo de instalar la 8, cuando corrir
el programa correspondiente a este codigo sql me arrojó el siguiente
error.
El numero del error es el 1807 - GROUP BY clause is invalid; por que
sucede esto, que debo hacer, como lo soluciono, GRACIAS


SELECT uv.ctgria_prcio CATEGORIA, pd.undad_vnta CLIENTE,uv.nmbre
NOMBRE_CLIENTE, ct.dscrpcion NOMBRE_CATEGORIA;
, pr.cdgo_plu PLU, pt.nmbre_prdcto NOMBRE_PRODUCTO ;
, (ALLTRIM(STR(pt.Pzas)) +" "+ pt.Envse +" = "+ ALLTRIM(STR(pt.Cntdad))+"
" + pt.Undad) PRESENTACION;
,sum(pr.cntdad_pzas_pd) CANT_PEDIDA_PZA;
,sum(pr.cntdad_pdda) CANT_PEDIDA_KIL;
,sum(pr.cntdad_pzas_dp) CANT_DESPACHO_PZA;
,sum(pr.cntdad_dspcho) CANT_DESPACHO_KIL;
, IIF(inlist(pt.envse ,'PQT','VIR','UND','BOL','BRR'),
sum(pr.cntdad_pzas_pd), sum(pr.cntdad_pdda)) CANTIDAD_PEDIDA;
, IIF(inlist(pt.envse, 'PQT','VIR','UND','BOL','BRR'),
sum(pr.cntdad_pzas_dp), sum(pr.cntdad_dspcho)) CANTIDAD_DESPACHO;
, 0,000.0 CUMPLIMIENTO;
from pddo_dspcho pd, pddo_dspcho_prd pr, unddes_vntas uv, prdctos pt,
ctgria_prcios ct ;
Where BETWEEN(pd.fcha_dspcho, dFechai,dFechaf) ;
And pd.tpo_pddo in ('P','F','L') ;
And pd.estdo >= 2 ;
AND BETWEEN(uv.ctgria_prcio,nCAT,nCAT2);
And pd.pddo = pr.pddo ;
And pd.undad_vnta = uv.undad_vnta ;
And pr.cdgo_plu = pt.cdgo_plu ;
AND uv.ctgria_prcio = ct.ctgria_prcio;
GROUP BY uv.ctgria_prcio, pd.undad_vnta, pr.cdgo_plu ;
ORDER BY uv.ctgria_prcio, pd.undad_vnta, pr.cdgo_plu INTO CURSOR
tmp_reporte READWRITE

Respuesta Responder a este mensaje
#2 Esparta Palma
22/02/2005 - 02:26 | Informe spam
Sería aún mejor el dejar sus querys como debieron estar en un principio:

Solucionar Error: SQL: la cláusula GROUP BY falta o no es válida.
http://www.panoramabox.com/GoPub.as...bj"36

SET ENGINEBEHAVIOR es una solución "rápida", pero no la mejor.


ž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º

Espartaco Palma Martínez
SysOp http://www.PortalFox.com
México D.F.
MoBlogs!
http://weblogs.golemproject.com/esparta/ <- Tech
http://www.espartha.com/blog/ <- Personal
Edhin Jiménez wrote:
Hola JRBM (seria bueno saber tu nombre)

Desde la versión 8, se esta depurando el motor de datos del SQL para que sea
compatible con el SQL Server y otras aplicaciones. En la cláusula GROUP BY
debes incluir todos los campos de la lista del SELECT excepto campos
contenidos en una función que los reúna.

También puedes usar el comando siguiente, para que tu aplicación sea
compatible con el SQL de la versión 7 y anteriores.
SET ENGINEBEHAVIOR 70

Respuesta Responder a este mensaje
#3 Edhin Jiménez
22/02/2005 - 02:46 | Informe spam
Y van dos con el mismo comentario, no volveré a proponer el vendito SET
ENGINEBEHAVIOR.

Saludos cordiales,

T.S.U. Edhin Jiménez
Coordinador Estatal Zulia
PortalFox Venezuela
Maracaibo, Venezuela

"Esparta Palma" escribió en el
mensaje news:OB5K$
Sería aún mejor el dejar sus querys como debieron estar en un principio:

Solucionar Error: SQL: la cláusula GROUP BY falta o no es válida.
http://www.panoramabox.com/GoPub.as...bj"36

SET ENGINEBEHAVIOR es una solución "rápida", pero no la mejor.


¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º

Espartaco Palma Martínez
SysOp http://www.PortalFox.com
México D.F.
MoBlogs!
http://weblogs.golemproject.com/esparta/ <- Tech
http://www.espartha.com/blog/ <- Personal
Edhin Jiménez wrote:
Hola JRBM (seria bueno saber tu nombre)

Desde la versión 8, se esta depurando el motor de datos del SQL para que
sea compatible con el SQL Server y otras aplicaciones. En la cláusula
GROUP BY debes incluir todos los campos de la lista del SELECT excepto
campos contenidos en una función que los reúna.

También puedes usar el comando siguiente, para que tu aplicación sea
compatible con el SQL de la versión 7 y anteriores.
SET ENGINEBEHAVIOR 70

Respuesta Responder a este mensaje
#4 Esparta Palma
22/02/2005 - 02:54 | Informe spam
No es que no se deba poner, sino que debe dejarsele como es, una
solución rapida para salir del paso, más no una solución definitiva,
habrá casos en que si deba usarse, pero son los mínimos una vez que has
cambiado todos los querys para hacerlos más compatibles con el estándar
ANSI SQL92 ;-)

En mi caso particular, de haber sabido que tendría muchos problemas en
el futuro con esta pequeñísima compatibilidad, lo habría hecho como era
correcto desde un inicio, ya que al pasar a un server de base de datos
(o pasarlo a otra plataforma) se tienen más restricciones y no hay un
SET AHORASILOQUIEROBIEN que te ayude :-)


ž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º€ø,žž,ø€º°`°º

Espartaco Palma Martínez
SysOp http://www.PortalFox.com
México D.F.
MoBlogs!
http://weblogs.golemproject.com/esparta/ <- Tech
http://www.espartha.com/blog/ <- Personal

Edhin Jiménez wrote:
Y van dos con el mismo comentario, no volveré a proponer el vendito SET
ENGINEBEHAVIOR.

Respuesta Responder a este mensaje
#5 Edhin Jiménez
22/02/2005 - 03:12 | Informe spam
OK, entiendo tu punto de vista, pero existe en Visual FoxPro, así no sea
bueno, hay que comentarlo, porque si no eres tu, es otro o la ayuda. Ya es
decisión del desarrollador que camino recorrer, el fácil, corto y a la larga
poco útil; o el trabajoso, largo y a luego muy útil; pero eso lo deciden los
compañeros lectores. No porque me censuren, deja de existir, se entendió?.
;-)))))

Saludos cordiales,

T.S.U. Edhin Jiménez
Coordinador Estatal Zulia
PortalFox Venezuela
Maracaibo, Venezuela

"Esparta Palma" escribió en el
mensaje news:
No es que no se deba poner, sino que debe dejarsele como es, una solución
rapida para salir del paso, más no una solución definitiva, habrá casos en
que si deba usarse, pero son los mínimos una vez que has cambiado todos
los querys para hacerlos más compatibles con el estándar ANSI SQL92 ;-)

En mi caso particular, de haber sabido que tendría muchos problemas en el
futuro con esta pequeñísima compatibilidad, lo habría hecho como era
correcto desde un inicio, ya que al pasar a un server de base de datos (o
pasarlo a otra plataforma) se tienen más restricciones y no hay un SET
AHORASILOQUIEROBIEN que te ayude :-)


¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º

Espartaco Palma Martínez
SysOp http://www.PortalFox.com
México D.F.
MoBlogs!
http://weblogs.golemproject.com/esparta/ <- Tech
http://www.espartha.com/blog/ <- Personal

Edhin Jiménez wrote:
Y van dos con el mismo comentario, no volveré a proponer el vendito SET
ENGINEBEHAVIOR.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida