![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola,
te da los mismos registros esto que esto ?
Es que esa query que haces es muy rara... Yo me inclino por algún registro que tenga algún dato nulo. Prueba y nos dices. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#2
|
|||
|
|||
|
Hola! Gracias a ambos por las rapidas respuestas.
Casimiro, esto solo le sucede al cliente con sus datos yo no he logrado reproducir el error o problema, pero con todos los datos que me ha guardado y el propio registro del programa es la unica conclusion que llego. Entiendo lo que dices y tienes toda la razon, pero tampoco tengo un caso en el que se reproduzca el fallo. De hecho he reproducido todas las acciones que fallaron en casa del cliente y no se reproduce el fallo. fjcg02, Ciertamente una de las cosas que he revisado son lo datos, posibles nulls o algun dato que en apariencia es similar y despues no lo es (con espacios en blanco o cosas similares) pero todo parece estar correcto. Ademas por eso mismo he utilizado una copia anterior de la base de datos para realizar las pruebas.
Que es lo que ves raro de la SQL que utilizo? Los campos por los que agrupa son parte de la llave primaria, lo que si es cierto que se al filtrar por empresa y almacén podria obviarlos en la clausula group by, pero tampoco creo que esto este mal.. PD: El sistema es un W2K3 server con Firebird 2.5.2
__________________
Saludos, Bitman Última edición por Toni fecha: 17-01-2015 a las 18:17:39. |
|
#3
|
||||
|
||||
|
Cita:
no digo que esté mal la query, pero me sorprende un poco. Yo cuando agrupo, es porque lo necesito. En este caso no es necesario. A veces una agrupación puede variar los resultados. Yo por definición, en las cosultas agrupadas siempre pongo los campos por los que va agrupada, así puedo comprobar el dato ( cuantas veces hemos dado por supuestas ciertas condiciones que luego hemos visto que no son correctas). Lo dicho, no es que esté mal, sino que como no sacas los datos por los que agrupa, simplemente me ha parecido "extraño". Por otro lado, no me has contestado... las dos querys te dan los mismos resultados ? La última que has puesto no es igual que la primera. A ver si puedes descubrir este "asunto". Me tiene intrigado. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#4
|
|||
|
|||
|
Hola!
En el ejemplo que he puesto he intentado sintetizar la raiz del problema, cuando realizado un agrupación es porque si que es necesario. Pero es por no complicar mas el asunto que lo he resumido. He probado las dos querys en el servidor del cliente y me dan extamente el mismo resultado. He realizado el mismo proceso que ha realizado el cliente recuperando sus datos y no consigo reproducirlo, pero como comente tengo constancia de que algo no esta funcionando como debe.. Todo el problema esta en ese procedimiento y se ejecuta en una unica transacción. He quedado con el cliente para que vuelvan a realizar el proceso de inventario y estare yo para validar paso a paso. Me he preparado unas consultas para comprobar que el proceso funciona correctamente. Ya os ire contando.. si se os ocurre alguna cosa soy todo oidos. ![]() La verdad es que el primer sorprendido soy yo, llevo muchos años con Firebird y estoy encantado con esta base de datos. Por ese motivo en lo ultimo que se me ocurre pensar es en un fallo del mismo.
__________________
Saludos, Bitman |
|
#5
|
||||
|
||||
|
Apuesto mi colección de comics de superman a que no es fallo de él.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#6
|
||||
|
||||
|
Cita:
Cita:
A ver si puedes dar con el problema. Suerte y un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#7
|
||||
|
||||
|
Cita:
¿De qué sirve que salgan los códigos de producto sin saber de que empresa y almacén es cada una? 000001 000001 000001 000002 000002 000002 000002 000002 000003 000003 000004 .... Nunca he utilizado clausulas GROUP BY que incluyan más campos que la propia select, la verdad. EDITO . No había caido en los parámetros. Pero, si pasas esos parámentros, ¿para que agrupas? El sentido de las agrupaciones es aplicar operaciones estadísticas : contar, sumar, promediar, etc..
__________________
http://www.gestionportable.com |
|
#8
|
|||
|
|||
|
Digamos que se podrian haber obviado.. los pongo por inercia, ya que son la clave principal del la tabla y puede que ayuden a utilizar mejor el plan adecuado, pero comoya dije se podrian obviar.. De todas formas no he conseguido reproducir ni una sola vez el problema. Y el resultado de esa select y el de la otra que comentaba fjcg02 me han dado el mismo resultado.
__________________
Saludos, Bitman |
|
#9
|
||||
|
||||
|
Pues el único criterio que afecta a la selección de un registro de la tabla "inventario" es que sea de una empresa concreta y un almacén concreto. No creo que el group by afecte (aunque yo probaría a quitarlo, lo que no hace nada, mejor que no estorbe ni ocupe) . En mi humilde opinión, o fallan los parámetros pasados o en problema está en los procedimientos siguientes. Una select de un id y un where con dos parámentros no hay nada más que pueda impedir que un registro concreto sea seleccionado que esos parámetros. Aunque si has resumido para la explicación puede ser que la select no sea tan sencilla, claro. No se me ocurre nada más para tratar de ayudar. Suerte.
__________________
http://www.gestionportable.com |
|
#10
|
|||
|
|||
|
Despues de realizar unas pruebas en casa del cliente con los procesos que me estan dan el problema, he podido ver que el problema no viene del 'group by' como me parecia.. la verdad es que el misterio se ha trasladado hacia la inicialización de los datos de la tabla que realizo el 'group by'. Dicha tabla la inicializo con todos los registros de la tabla 'stock' con una unica sentencia 'insert into select' por lo que daba por hecho que estaban todos los registros en la tabla y por eso fallaba el 'group by'. Pero es que era lo logico pensar esto, ya que en esa tabla se realiza la inserción masiva de registros y no hay ningun proceso de eliminación de registros en dicha tabla desde el programa. Ademas he realizado multiples pruebas de inicializar la tabla y siempre coinciden el numero de registros..
![]() Misterio, misterio.....
__________________
Saludos, Bitman |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| ayuda problema con group by | Rofocale | Varios | 12 | 12-05-2011 21:24:38 |
| Problema con Group by | david_uh | Firebird e Interbase | 2 | 13-04-2008 20:37:08 |
| Problema con group by | apicito | SQL | 7 | 23-05-2006 08:32:25 |
| problema con group by | raudelink | SQL | 2 | 18-10-2004 21:19:05 |
| Problema con Group en qreport | seken | Impresión | 1 | 18-06-2003 23:32:50 |
|