FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Select complicada
Primero disculparme por el título del hilo; no se me ocurre otra forma.
Veamos. Para mi se me hace complicado como hacer este select. Tengo dos tablas relacionadas: una de personas y otra de cargos. Cada entrada de esta última ha de estar necesariamente en la de personas pero cada persona puede tener más de una entrada en la tabla de cargos. A la izquiera la tabla de personas; a la derecha la de electos. Si yo hago un select para sacar, por ejemplo, la identidad y el cargo lo haría así: Código:
SELECT A.Apellidos, A.Nombre, C.Cargo FROM Persona A, Electos B, Cargos C WHERE A.Codigo = B.Codigo AND B.Cargo = C.Codigo |
#2
|
||||
|
||||
|
#3
|
||||
|
||||
Entiendo que de la tabla ELECTOS quieres saber:
- el nombre y aplellido que están en la tabla PERSONA - un Cargo que está en la tabla CARGOS Una persona puede tener muchos Cargos El campo Codigo relaciona Persona con Cargos No me queda claro que el campo Cargo de ELECTOS se relaciones con el campo Codigo de CARGOS. Creo que debería ser Cargo de ELECTOS
De todos modos, creo que hay que agregar la relación entre codigo Y cargo de ambas tablas. Supongo que la tabla ELECTOS tiene tanto el código de la persona como el cargo al que ha sido electo.
|
#4
|
||||
|
||||
Después de poner el mensaje me he dado cuenta que he liado el ejemplo. Lo importante son las dos tablas de las imágenes; la tercera (Cargos) es para extraer la descripción asociada al campo Cargo en la segunda imagen.
Centrándome en las dos imágenes que he subido (Persona es la de la izquierda y Electos la de la derecha). Si uso un query parecido al que he puesto antes:
Saldría algo así: Cita:
Cita:
No me vale Casimiro. Así seguro que me salen todos los posibles; el distinct y el first 1 ya los he probado. |
#5
|
||||
|
||||
Hola.
Cita:
tenemos: Código:
CODIGO APELLIDO NOMBRE CARGO --------------------------------------------- 9 ABARCA CHAPARRO PLACIDA 21 31 ABENGOZOAR FERN MARGARITA 45 32 ABENGOZOAR FERN MARIA JULIA 29 75 AGUADO MADRID INOCENCIA 21 79 AGUDO HUESCAR ANTONIO 39 117 ALAMINOS SALMER LAURA 29 163 ALARCON JIMENEZ JOSE LUIS 29 Lo que no termino de entender es a que te refieres con que "salen todos los posibles", ¿ Que criterio más se debería cumplir ? Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#6
|
||||
|
||||
Para esto tienes que hacer entonces un subselect:
|
#7
|
||||
|
||||
En Firebird puedes utilizar tambié LIST() para estos campos agregados:
Última edición por duilioisola fecha: 14-12-2017 a las 15:50:51. |
#8
|
|||
|
|||
Cita:
Yo me iba a decantar por hablar seriamente con el presidente y hacerle ver que no es admisible que haya electos que acumulen más de un cargo |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta complicada... | sargento elias | SQL | 2 | 10-03-2009 17:52:52 |
Consulta complicada | superhopi | MS SQL Server | 15 | 03-07-2006 23:53:59 |
Estructura complicada | alastor | Varios | 5 | 28-06-2006 18:42:40 |
Pregunta complicada... | oliverinf | OOP | 6 | 24-09-2004 13:24:50 |
Consulta Complicada | NickName | SQL | 6 | 29-04-2004 07:33:31 |
|