Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-02-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Consulta filtrada

Hola, tengo problemas al querer filtrar una consulta en Firebird. La tabla, simplificada a lo relevante, queda así:
CREATE TABLE TBL(
COD1 CHAR(2) NOT NULL,
COD2 CHAR(3) NOT NULL,
REG_ID INTEGER NOT NULL, /* autoincremental */
CONSTRAINT TBL_PK PRIMARY KEY(COD1, COD2)
);
Los valores de COD1 y COD2 pueden estar repetidos, siempre que no lo hagan respectivamente en dos registros diferentes (puesto que provocarían una excepción, logicamente).
Como quiero que COD1 aparezca sólo una vez, utilizo: SELECT DISTINCT COD1 FROM TBL, pero esto no me permite obtener otro campo.
Infiero que cuando trato con: SELECT DISTINCT COD1, TBL_ID FROM TBL (por ejemplo), que DISTINCT afecta también a TBL_ID y al ser estos todos diferentes, aparecen consecuentemente COD1 repetidos.
Quizá no es posible esta consulta y deba reestructurar.
He buscado varios días en múltiples ejemplos pero no doy con la solución, agradezco su atención y cualquier sugerencia.


Saludos cordiales al foro.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 11-02-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola, no sé seguir tu explicación.

Quizás sería más rápido que nos pusieras un ejemplo. Muestra cuatro o cinco registros que pudiera haber en la tabla, y enseñanos que resultado te gustaría que sacara tu consulta a partir de ellos.

Saludos.
Responder Con Cita
  #3  
Antiguo 11-02-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Gracias por tu respuesta Guillotmarc, a ver si puedo ejemplificar.

Datos en tabla:
COD1| COD2| REG_ID
01 | 001 | 1
01 | 002 | 2
02 | 001 | 3
03 | 001 | 4
01 | 003 | 5
...

Salida que busco:
COD1 | REG_ID
01 | 1
02 | 3
03 | 4

De nuevo muchas gracias.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 11-02-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Gracias por tu respuesta Guillotmarc, a ver si puedo ejemplificar.

Datos en tabla:
COD1| COD2| REG_ID
01 | 001 | 1
01 | 002 | 2
02 | 001 | 3
03 | 001 | 4
01 | 003 | 5
...

Salida que busco:
COD1 | REG_ID
01 | 1
02 | 3
03 | 4

De nuevo muchas gracias.
Hola ecfisa, según tu ejemplo la consulta debería ser :

Código SQL [-]
Select COD1, REG_ID From Tabla Where COD2='001'

pero creo que te falta explicar algo mas.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 11-02-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Caro, primero gracias.

Tu ejemplo y funcionaría perfectamente si los valores de COD2 para cada COD1 comenzasen necesariamente con '001', pero son asignados sin restricciones de 0 a 999; y si se diera el caso COD1: O1 | COD2: 035 la consulta no lo mostraría.

Perdón, no me di cuenta que omiti esto en el primer post.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 11-02-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola de nuevo ecfisa, creo que ya te he entendido , la consulta creo que sería esta:

Código SQL [-]
SELECT DISTINCT C1.COD1, (Select First 1 C2.ID From TBL C2 Where C1.COD1=C2.COD1)
FROM TBL C1

Si no es eso, debes seguirnos explicando.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #7  
Antiguo 11-02-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Thumbs up

Ahora sí Caro, indudablemente es esa la consulta acertada!

Muchas gracias por tu ayuda.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear una consulta filtrada por uno o más parametros lefarre SQL 9 01-04-2009 01:54:28
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 01-10-2007 23:19:44
Busqueda en Tabla Filtrada don malo Conexión con bases de datos 9 04-07-2007 20:54:53
DBChart, Tabla filtrada ? Fabricio Gráficos 9 14-03-2007 15:30:44
Conflicto entre Query y Tabla filtrada Michael Varios 2 20-05-2004 21:37:43


La franja horaria es GMT +2. Ahora son las 21:36:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi