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

Cómo se relaciona una tabla con otra para mostrar varios resultados?

Estas en el tema de Cómo se relaciona una tabla con otra para mostrar varios resultados? en el foro de Bases de Datos General en Foros del Web. Hola a todos! Tengo la siguiente duda a ver si me puedo explicar bien... Tengo en una tabla AUTOS y otra tabla CARACTERISTICAS . Esta ...
  #1 (permalink)  
Antiguo 19/05/2008, 07:37
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Pregunta Cómo se relaciona una tabla con otra para mostrar varios resultados?

Hola a todos! Tengo la siguiente duda a ver si me puedo explicar bien...

Tengo en una tabla AUTOS y otra tabla CARACTERISTICAS. Esta tabla contiene especificaciones como Airbag, Luces de Stop, Alarma, etc. y cada una de ellas tiene asignado un pequeño gif.

Mi idea es por ejemplo, al seleccionar un ID de AUTOS que me traiga además las caracteristicas de la otra tabla y sus gif.

¿Se puede hacer esto? ¿debo crear un campo en la Tabla AUTOS para que tome las características de la otra tabla?

Me estoy volviendo loco con esto. Desde ya muchas gracias.

Saludos. Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #2 (permalink)  
Antiguo 19/05/2008, 07:50
 
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona
Mensajes: 200
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Cómo se relaciona una tabla con otra para mostrar varios resultados?

Hola marx

Eso se hace en la consulta SQL, tendrías que buscar en ese foro.

"Consultas anidadas", "alias"...

pero mas o menos seria así:

Código PHP:

$_sql 
"select a.campo1,c.campo2 from tabla1 a, tabla2 c where a.ID=c.ID"
Salud2
  #3 (permalink)  
Antiguo 19/05/2008, 08:41
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Respuesta: Cómo se relaciona una tabla con otra para mostrar varios resultados?

Cita:
Iniciado por fido85 Ver Mensaje
Hola marx

Eso se hace en la consulta SQL, tendrías que buscar en ese foro.

"Consultas anidadas", "alias"...

pero mas o menos seria así:

Código PHP:

$_sql 
"select a.campo1,c.campo2 from tabla1 a, tabla2 c where a.ID=c.ID"
Salud2
Gracias Fido85 por responder, pero hoy tengo un día de aquellos... estoy con el cerebro congelado y no puedo darme cuenta de algo, por eso todavía hay algo que no me cierra... o sea, no comprendo.

La consulta quedaría de esta forma:

Código PHP:

$_sql 
"SELECT autos.campo1, caracteristicas.campo2 FROM autos, caracteristicas WHERE autos.ID = caracteristicas.ID"
Las tablas serían estas:

tabla Autos
id_autos = 1, 2, 3...
nombre_autos = Audi, BMW, Ford...
...

tabla Caracteristicas
id_caracteristica = 1, 2, 3...
desc_caracteristica = Airbag, Alarma, Aire Acondicionado...


Si esto es así, cuando seleccione el campo autos.ID 1 de la tabla AUTOS:
- ¿cómo hago para que me muestre de la tabla CARACTERISTICAS todos los ID de esa tabla que se relacionen con el id 1 de autos?
- ¿que campo me está faltando crear en la tabla AUTOS o CARACTERISTICAS para que se relacionen entre sí?

Espero me haya expresado bien ya que no le encuentro la vuelta a esto.

Desde ya muchas gracias otra vez. Saludos. Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #4 (permalink)  
Antiguo 19/05/2008, 08:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Cómo se relaciona una tabla con otra para mostrar varios resultados?

Tema trasladado a Bases de Datos
  #5 (permalink)  
Antiguo 19/05/2008, 10:44
 
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona
Mensajes: 200
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Cómo se relaciona una tabla con otra para mostrar varios resultados?

Vale, tu tienes:

Código:
Autos
id_autos
nombre
...

Caracteristicas
id_caracteristica
descripcion
...
y necesitas relacionar las dos tablas,

. un auto puede tener varias características
. y una característica puede pertenecer a varios autos

por tanto necesitarías otra tabla, para poderlas relacionar

Código:
auto_caract
id_auto
id_caracteristica
en esta tabla, cada linea representa una característica del auto,
has de tener en cuenta que id_auto y id_caracteristica son clave primaria,
por tanto no puedes repetir la misma linea,

id_auto id_caracteristica
1 1
1 2
1 3
2 2


ahora solo te queda hacer las consultas (que es como te había comentado antes)
pero ahora la tabla que las relaciona es auto_caract

Código PHP:

$_sql 
"a.nombre,c.descripcion from autos a, caracteristicas c,auto_caract z where (z.id_auto=a.id_auto AND z.id_caracteristica=c.id_caracteristica)"
de esta forma te listaria todos los autos con sus respectivas caracteristicas,
si solo quieres la de un determinado auto añades "AND a.id_auto=2"


Código:
autos a 
caracteristicas c
auto_caract z 

a,c,z  son alias... para no tener que volver a escribir todo el nombre de la tabla

sino, seria asi

autos.nombre......


bueno, mas o menos seria asi...

saludo
  #6 (permalink)  
Antiguo 19/05/2008, 14:04
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Respuesta: Cómo se relaciona una tabla con otra para mostrar varios resultados?

Amigo Fido85... ERES UN GENIO . Me has orientado y ayudado muchísimo y ya pude hacerlo a la perfección.

Un 1.000.000 de gracias por tu tiempo.

Saludos. Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
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 17:42.