Foro de programacion

programacion
RegistrateNewsletter
zonas:adsl:area-flash:area-php:area-asp:area-vb:area-photoshop:area-Vfox:area-Soft:area.:Mas
+ de 45.000 registrados
Secciones: Manuales-Diseño-Trucos-Recursos-Foros/Comunidad-Software-CodigoFuente-compras
AñadenosFavoritos
Secciones: Herramientas-Libros-Webmasters/Google-Noticias -Biblioteca-Cursos--Directorio-EmpleoN
Foros de Programacion - Cominidad de Programadores
 
Foros de programacion
es una web de ayuda a los programadores y webmasters, la buena utilizacion del foro sera el premio que tendremos para q este elemento sea util para los usuarios.

Colaborar: Si deseais ser moderadores de alguno de los foros estaremos encantados en que nos presteis esa ayuda , tan solo es necesario tener algun conocimiento
del tema que trata el foro y tener ganas ganas de colaborar para ser moderador mandar un mail indicando de que foro deseais ser moderador

Deseais que pongamos algun nuevo foro de programacion? ¿quieres crear un nuevo foro y ser su moderador? ponte en contacto con nosotros

Retroceder   Foros > Bases de Datos > visual fox pro

Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 21 de mayo,2009, 23:04
Junior Member
Nivel basico por msg
 
Fecha de Ingreso: abr 2009
Mensajes: 6
Predeterminado problemas con SQL

hola:
tengo el siguiente problema con una sentencia SQL. Cuando ingreso:

SELECT * FROM PEDIDOS GROUP BY PEDIDOS.PROVEEDOR

me aparece el siguiente error:

SQL:GROUP BY clause is missing or invalid

agradecere cualquier comentario
Responder Citando
  #2 (permalink)  
Antiguo 22 de mayo,2009, 04:04
Member
Nivel Experto por Msg
 
Fecha de Ingreso: feb 2009
Mensajes: 71
Predeterminado

Estuve buscando el error y parece que hay que hacer algo mas para que funcione....

"Group by clause is missing or invalid.

Espero te sirva.
Responder Citando
  #3 (permalink)  
Antiguo 27 de mayo,2009, 15:28
Junior Member
Nivel basico por msg
 
Fecha de Ingreso: ene 2008
Mensajes: 9
Predeterminado

no le des SELECT * FROM, porque cuando usas group by tienes que especificar que vas a agrupar.


SELECT proveedores.razon_social, pedidosp1_2000.CENTROCOSTOS,
FROM pedidosp1_2000 INNER JOIN
proveedores ON pedidosp1_2000.nit = proveedores.nit INNER JOIN
bodegas ON bodegas.bodega = pedidosp1_2000.CENTROCOSTOS
GROUP BY proveedores.razon_social, pedidosp1_2000.CENTROCOSTOS

SI VES QUE LO AGRUPO POR RAZON_SOCIAL Y POR CENTRO DE COSTOS.

Espero me entiendas pruebalo y nos cuentas.
Responder Citando
  #4 (permalink)  
Antiguo 19 de junio,2009, 19:02
Junior Member
Nivel basico por msg
 
Fecha de Ingreso: abr 2009
Mensajes: 6
Predeterminado

hola a todos!!! Pude solucionar el problema que tenía con la sentencia SQL y quería comentarselo por si a alguien le es util.
El problema es de compatibilidad de versiones y visual fox lo soluciona a traves de la siguiente sentencia:

SET ENGINEBEHAVIOR 70

Gracias
Responder Citando
  #5 (permalink)  
Antiguo 14 de agosto,2009, 23:45
Junior Member
Nivel Medio por Msg
 
Fecha de Ingreso: sep 2006
Mensajes: 14
Predeterminado

el SET ENGINEBEHAVIOR 70 te podria mentir, lo unico que hace es que el comportamiento sea igual al de visual fox 7, en otras palabras no utilizas un SQL puro, y el error que te da visual fox es que verifica el SELECT que estas haciendo y lo hace de manera pura, con esto lo que quiero decir, es que estas omitiendo la regla necesaria para usar un GROUP BY

SELECT * FROM PEDIDOS GROUP BY PEDIDOS.PROVEEDOR

porque da error?, le dices tome todos los campos, en SQL puro no puedes hacer esto,te el mismo error
deberias hacerlo mas o menos asi

tienes

TABLA1
CODIGO
VENTA


CODIGO VENTA
00001 2000
00001 100
00001 10
00001 1
00001 2
00002 2000
00002 1800
00002 400
00002 50

SELECT * FROM tabla1 GROUP BY codigo

da error porque no sabe que quieres hacer con venta (aunque para nosotros sea obvio), entonces en pocas palabras lo que quieres es ver solo 00001 y 00002 con sus ventas

SELECT codigo,sum(venta) AS venta from TABLA1 GROUP BY codigo

ahora entiendes la diferencia?

si fuera
SELECT codigo,sum(venta) AS venta,fecha from TABLA1 GROUP BY codigo

tambien daria error, tienes que agrupar la fecha tambien

SELECT codigo,sum(venta) venta,fecha from TABLA1 GROUP BY codigo,fecha

a menos que le des un max(fecha) (por ejemplo)

SELECT codigo,sum(venta) venta,max(fecha) from TABLA1 GROUP BY codigo

pero que pasa con esto?, que te miente en la fecha, porque no se vendio todo necesariamente en esa fecha, pues bien, SET ENGINEBEHAVIOR 70 actua de esta forma o de una muy parecida, en la que un dato del algun campo no es como el te lo presenta, me entiendes?


salu2
Responder Citando
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Las caritas están Activado
El codigo [IMG] está Activado
Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Activado
Ir al Foro

Programacion : LWPI Solorecursos I programacion I abcdatos I TrucosTecnicos I servicios gratisI ofertas de ADSL Ipueblos20
Areas exclusivas:cursosIofertasIadslIwebtutoriales ISMSareaItutorialesItrucos de windows IgooglemaniaI programatium.netIcompras
noticias: SaludIOcio/cineIMusicaIMotorIDeportes IJuegos I FinanzasIMovilesIEnergiaIEcologiaITech-yIMujerIMACISaludIViajes-Pueblos
site programatium.com : site1 - site2 - site3 - site4 - site5 - site6 - site7 - site8
manuales Sugiere un manual para esta seccion
who's online
Linkanos
www.programatium.com© 1999 - web esta optimizada para Microsoft explorer 6.0
tutoriales

Content Relevant URLs by vBSEO 3.2.0