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

Consulta tabla relacional

Estas en el tema de Consulta tabla relacional en el foro de Bases de Datos General en Foros del Web. Buenas a todos Mi consulta es la siguiente, seguro que es muy simple pero no soy capaz de sacarla. Tengo un formulario en el cual ...
  #1 (permalink)  
Antiguo 08/09/2008, 04:28
 
Fecha de Ingreso: abril-2008
Mensajes: 70
Antigüedad: 16 años, 7 meses
Puntos: 0
Consulta tabla relacional

Buenas a todos

Mi consulta es la siguiente, seguro que es muy simple pero no soy capaz de sacarla.

Tengo un formulario en el cual ingreso personas con sus datos de contacto, los datos ingresados van a una tabla llamada personas excepto uno de los campos que se ingresa en la tabla categorías, este campo se encarga de que se categorice a la persona (actor, futbolista, escritor....) y hace una relación con la id de la persona.

Por lo tanto si yo tengo 167 registros ingreso un nuevo registro en la tabla personas se me crea
Id 168 - fulanito de tal / tlf tal / direccion tal etc..
Y en la tabla categorias en la cual tengo 210 registros (por ejemplo)
Id 211 - actor / ID168 (relación con la persona a la que pertenece)

Ahora bien la duda viene en que yo quiero sacar de la tabla personas todos los registros que pertenezcan a la categoría Deportista (por ejemplo), como lo consigo?
Imagino que tendré que hacer 2 consultas una a la tabla categorías que me extraiga la id relacional y otra a la tabla personas que coja la relación y la represente pero no tengo ni idea de como montar dicha consulta.

ALguien puede ayudar?

Gracias y saludos
  #2 (permalink)  
Antiguo 08/09/2008, 04:40
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 16 años, 3 meses
Puntos: 7
Respuesta: Consulta tabla relacional

select * from personas where id in (select id from categoria where categoria like 'deportista')

o

select p.nombre, p.tlfno... from personas p, categoria c where c.categoria ='deportista' and p.id=c.id

prueba las dos.

en ... pon todos los campos pertenecientes a la tabla personas que quieras mostrar
  #3 (permalink)  
Antiguo 08/09/2008, 10:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Consulta tabla relacional

Tema trasladado a Bases de Datos.
  #4 (permalink)  
Antiguo 09/09/2008, 07:53
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 18 años, 4 meses
Puntos: 56
Respuesta: Consulta tabla relacional

Hola,
O estoy muy despistado, o comparando los dos id nunca vas a obtener las personas de cada categoría, pues el id de una persona es único y el de la categoría también.

Si hablamos de modelo relacional, yo tendría en la tabla de las personas, además del id de persona, el id de categoría, y, evidentemente relacionaria las tablas usando los dos campos id categoría.
Aún más evidente, si el valor de los campos id categoría de ambas tablas es igual, es porque las personas correspondientes pertenecen o están asignadas a la misma categoría.

Un saludo
  #5 (permalink)  
Antiguo 10/09/2008, 02:36
 
Fecha de Ingreso: abril-2008
Mensajes: 70
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Consulta tabla relacional

Buenas gracias por las respuestas de momento me genera la consulta pero no me lista nada sale en blanco sobre las dudas de jchuk te explico, expliqué el problema algo por encima poque tal y como tengo el formulario montado es más complicado de lo que parece.
En la tabla categorias(que realmente se llama tags) tengo los siguientes campos
cod_tag txt_tag cod_itm

Cod_tag seria la id del nuevo tag introducido, ten en cuenta que puedo añadir por cada personas nueva que meta en mi base de datos varios tags (ya que le tengo montado al formulario un explode que me permite partir tras cada coma la palabra y meterla en la tabla categorias.
Txt_tag sería la categoría, deportista, actor etc...
cod_itm es la id relacionada con el registro que se mete en la tabla personas

Por lo cual cada persona tiene su id asi como cada categoría tiene su id que a su vez se relaciona en el campo cod_item con la id de la persona a la que se le asignó dicha categoría

Espero haber aclarado un poco las dudas.

Según la ayuda que me dió ilie monté la siguiente consulta:

Código PHP:
select persoas.cod_nmepersoas.cod_aplds from persoastags
where tags
.txt_tag ='Arquitectura' and persoas.cod_prsa=tags.cod_tag 
(estas bien el nombre de las tablas, campos etc etc... pero no genera nada

Última edición por BrujoNic; 10/09/2008 a las 13:22
  #6 (permalink)  
Antiguo 10/09/2008, 03:08
 
Fecha de Ingreso: abril-2008
Mensajes: 70
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Consulta tabla relacional

Hola de nuevo, ya funciona con esta consulta:

Código PHP:
select persoas.cod_nmepersoas.cod_aplds,persoas.cod_crro_1,persoas.txt_tlfno_trbllo,persoas.txt_tlfno_mbl from persoastags
where tags
.txt_tag ='Conselleria' and persoas.cod_prsa=tags.cod_itm 
Gracias por la ayuda ;)

Última edición por BrujoNic; 10/09/2008 a las 13:22
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 23:10.