FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problemas al Agrupar por un campo COMPUTED BY
Hola
Hace tiempo que no ingresaba al foro Un saludo para todos Tengo instalado Firebird 2.5 32 bits en mi equipo Se realizo una actualizacion de la aplicacion con la que accedo a la base de datos y me surgio un problema, los sql que tenia en mis consultas con la clausula Group by dejaron de realizar la agrupacion, despues de revisar encontre que cuando adiciono al grupo un campo "Computed by" se pierde la agrupacion Este SQL me deberia devolver los datos agrupados por documento 1345,JUAN PEREZ,100.000 1346,PEDRO PEREZ,230.000 1347,MARIA PEREZ,45.000 Pero me regresa los datos sin agrupar 1345,JUAN PEREZ,60.000 1345,JUAN PEREZ,20.000 1345,JUAN PEREZ,20.000 1346,JUAN PEREZ,200.000 1346,JUAN PEREZ,10.000 1346,JUAN PEREZ,20.000 1347,JUAN PEREZ,45.000 si cambio el query haciendo trim al campo computed by funciona correctamente La base de datos no se ha desinstalado ni modificado la configuracion La solucion es simple, hacer el trim a todos los campos, el problema es que tengo muchos reportes Quedo atento a su ayuda Muchas gracias Última edición por ecfisa fecha: 30-09-2014 a las 06:00:47. Razón: Agregar etiquetas [SQL] [/SQL] |
#2
|
||||
|
||||
Hola hecospina.
Para quitar los espacios y evitar el uso de TRIM en la consulta podes hacer: y luego modificar el programa para que realize TRIM antes de cada guardado. Pero... con eso no se soluciona la cosa. TRIM eliminará los espacios a la derecha e izquierda, pero el usuario podría por ejemplo, poner dos espacios entre el nombre y apellido (o equivocarse una letra al escribir). Y en esos casos GROUP BY tampoco agrupará dichos valores por ser distintos. Lo ideal sería que reemplazaras la columna NOMBRE_CLIENTE por el identificador único de cliente correspondiente a la tabla clientes, de ese modo no habría equívoco posible: Los valores de las columnas se verían parecido a esto: Código:
FACTURA VALOR CLIENTE_ID 1345 60 1 (JUAN PEREZ) 1345 20 1 1345 20 1 1346 80 2 (OTRO CLIENTE) Ahora poco importa si en la tabla de clientes a JUAN PEREZ lo ingresaron con espacios, o como JUAN PERES, etc., ya que siempre se tratará del mismo contenido y por lo tanto se agrupará. Ha... por cierto, no olvides de poner las etiquetas [sql] ... [/sql] a tu código SQL (ya las agregué en tu mensaje) Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
Muchas gracias Daniel
Por tratarse de un campo computed by no es posible realizar el update Efectivamente la tabla de terceros tiene la llave primaria y el campo nombre es el resultado de unir el primer nombre, el segundo nombre, el primer apellido y el segundo apellido La consulta la genero haciendo el join a esta tabla Gracias |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Modificar un campo Computed By | Jose Miguel Mun | Firebird e Interbase | 2 | 15-01-2009 15:04:29 |
ClientDataSet y campo COMPUTED BY | Jose Miguel Mun | Firebird e Interbase | 2 | 24-02-2007 15:29:48 |
Agrupar por campo | ¥0n1 | Impresión | 5 | 18-11-2004 13:36:10 |
Agrupar campo daytime por dia | mithos07 | Firebird e Interbase | 1 | 12-11-2003 15:34:03 |
|