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

Cómo hacer la consulta?

Estas en el tema de Cómo hacer la consulta? en el foro de Bases de Datos General en Foros del Web. Tengo dos tablas una de familas y la otra de articulos: Familias: Id Nombre id_famlila 1 mobiliario null 2 silla 1 3 mesa 1 4 ...
  #1 (permalink)  
Antiguo 01/09/2007, 10:03
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 9 meses
Puntos: 1
Pregunta Cómo hacer la consulta?

Tengo dos tablas una de familas y la otra de articulos:

Familias:

Id Nombre id_famlila
1 mobiliario null
2 silla 1
3 mesa 1
4 gimnasio null
5 balon 4


Articulos:
id Nombre Id_familia
1 mesa profesor 3
2 mesa alumno 3
3 balon medicinal 4


Las familias estan clasificadas en familias y subfamilias:
mobiliario(mesa,silla..)
gimnasio (balon,colchonetas..)

Los articulos son de una subfamilia (mesa, silla,balon) nunca (mobiliario o gimnasio)

Lo que quiero es realizar una consulta de todos los articulos con todos sus registros pero de todos aquellos que son de la familia mobiliario,por ejemplo.
Devolviendome en el caso anterior:

id Nombre Id_familia
1 mesa profesor 3
2 mesa alumno 3


Saludos y Gracias
  #2 (permalink)  
Antiguo 04/09/2007, 05:09
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Cómo hacer la consulta?

Hola, al tener esa "jerarquia de familias", la select se complica un poco, pero sigue siendo bastante simple, te aconsejaría que mirases sobre los JOIN de tablas y aprendieras a hacerlo tu misma... de todas formas te la dejo puesta:

SELECT A.ID AS id_articulo
, A.NOMBRE AS nombre_articulo
, F.NOMBRE AS nombre_familia
, SUBF.NOMBRE AS nombre_SUB_familia
FROM FAMILIA F
JOIN FAMILIA SUBF ON F.ID = SUBF.ID_FAMILIA
JOIN ARTICULOS A ON A.ID_FAMILIA = SUBF.ID;

hay otras formas de hacerlo pero personalmente prefiero esta a por ejemplo una subconsulta.

Salud2
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:07.