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
 

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

Preguntas similares