Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Editar consulta agrupada (Group by)

Estas en el tema de Editar consulta agrupada (Group by) en el foro de Bases de Datos General en Foros del Web. Buenas noches... mi problema radica en que tengo una consulta en la cual incluyo datos de 2 tablas, las cuales están relacionadas "uno a varios" ...
  #1 (permalink)  
Antiguo 02/07/2014, 23:25
 
Fecha de Ingreso: julio-2014
Ubicación: Neiva
Mensajes: 3
Antigüedad: 9 años, 9 meses
Puntos: 0
Editar consulta agrupada (Group by)

Buenas noches... mi problema radica en que tengo una consulta en la cual incluyo datos de 2 tablas, las cuales están relacionadas "uno a varios" con referencia al campo "crédito"... el problema es que si existe mas de un registro en la tabla 2... la consulta me arroja varios registros relacionados así:

CREDITO NOMBRE GESTION-- FECHA-----IMPRIME (casilla de verificación)
1234567 OSCAR--LLAMADA 30/06/2014-- SI
1234567 OSCAR--VISITA--- 01/07/2014- NO
3219876 IVAN---LLAMADA 30/06/2014-- SI
3219876 IVAN---VISITA--- 01/07/2014- NO
3219876 IVAN---CARTA--- 01/07/2014- NO

En este caso puedo editar los distintos campos, sobre todo seleccionar o quitar la selección del campo "IMPRIME" (es la casilla que me interesa editar)

Sin embargo en una base de datos de muchos clientes y que tengan muchas gestiones, el resultado va a ser un listado sumamente extenso, por lo tanto lo agrupo por crédito y el resto de campos por el primero... arrojando el siguiente código SQL...

Código SQL:
Ver original
  1. SELECT Tabla1.CREDITO, FIRST(Tabla1.CEDULA) AS PrimeroDeCEDULA, FIRST(Tabla1.NOMBRE) AS PrimeroDeNOMBRE, FIRST(Tabla2.gestion) AS PrimeroDegestion, FIRST(Tabla2.fecha) AS PrimeroDefecha, FIRST(Tabla2.imprime) AS PrimeroDeimprime
  2. FROM Tabla1 INNER JOIN Tabla2 ON Tabla1.CREDITO = Tabla2.credito
  3. GROUP BY Tabla1.CREDITO;

Teniendo esto como resultado:

CREDITO NOMBRE GESTION-- FECHA-----IMPRIME (casilla de verificación)
1234567 OSCAR--LLAMADA- 30/06/2014-- SI
3219876 IVAN---LLAMADA- 30/06/2014-- SI

El resultado aparentemente es el esperado, pero con un inconveniente LA CONSULTA NO SE DEJA EDITAR..... al tratar de seleccionar o quitar la selección o hacer cualquier tipo de modificación, no lo permite... parece como si estuviera en solo lectura; pero al quitar la agrupación se deja editar normalmente.

Por lo tanto mi solicitud de ayuda es para que al agrupar... pueda editar la consulta..... y en caso de que no sea posible... entonces alguna manera de lograr lo que estoy necesitando... se los agradecería enormemente... de antemano muchas gracias..!!!

Última edición por gnzsoloyo; 03/07/2014 a las 08:28
  #2 (permalink)  
Antiguo 03/07/2014, 03:07
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Editar consulta agrupada (Group by)

Todos consulta agrupada forzosamente es de sólo lectura, porque sus datos se no representan registros únicos, sino consolidados. Por ende, lo que actualices en una vista no se puede reflejar luego en la tabla física. No tendría como identificar a que registro asignar los valores.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 03/07/2014, 08:15
 
Fecha de Ingreso: julio-2014
Ubicación: Neiva
Mensajes: 3
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Editar consulta agrupada (Group by)

Muchas gracias por la respuesta..... y pues si me imaginaba que ese era el motivo.... sin embargo... habrá manera de hacer lo que necesito hacer.....!!!! es decir.... Que se me muestre.....una hoja de datos que me combinen campos de 2 tablas...... pero que no se repitan filas por duplicidad en el valor de un campo.... pero que se deje editar.... !!!!
  #4 (permalink)  
Antiguo 03/07/2014, 08:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Editar consulta agrupada (Group by)

No desde la base de datos. No puedes "editar" consultas agrupadas por la razón que te digo, y son restricciones de nikel kernel, por lo que n o la spuedes saltear.
Lo que tienes que tener claro es que ese dato no existe en la base, por lo que es inmapeable. Nada qe hagas con ese dato se puede reflejar en l atabla origen.

¿De qué DBMS estamos hablando, y de qué dato se trataría?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 03/07/2014, 09:11
 
Fecha de Ingreso: julio-2014
Ubicación: Neiva
Mensajes: 3
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Editar consulta agrupada (Group by)

Es un access.... y creo que estoy en problemas... porque lo que hago es que con esa consulta... selecciono o quito la selección de la casilla de verificación "imprime" en los registros que necesite... y con esto genero un informe.....

Todo me funciona bien... el problema es que cuando un cliente tiene muchas gestiones.... pues me aparece repetido muchas veces.... y necesito que me aparezca únicamente el ultimo registro de cada cliente.

Y si no se puede... pues voy a estar en serios problemas...
  #6 (permalink)  
Antiguo 03/07/2014, 09:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Editar consulta agrupada (Group by)

Si vas a aplciar esa condición sobre el último registro de gestion del cliente, entonces no es agrupar lo que debes hacer, sino seleccionar sólo los registros de gestiones más recientes.
No es lo mismo.
Probablemente una subconsulta en el WHERE alcance para eso.

En SQL Server u otro verdadero DBMS la query sería facil de crear. En Access no sé que tan buen manejo de subconsultas tiene...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: campos, group, siguiente, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:54.