Hola a todos. Estoy teniendo problemas para realizar una consulta que involucre a 3 tablas al mismo tiempo. Quizá alguien me pueda ayudar, pues pienso que es un problema "de principiante".
Básicamente tengo 3 tablas (muy sencillas), en una almaceno nombres de marcas de vehículos (FORD, NISSAN, FIAT, etc), en otra almaceno los modelos (TSURU, FOCUS, etc.) y en la última almaceno los autos en sí. He aquí la estructura (
sólo los campos escenciales):
Código:
TABLA: Marcas
id
nombre
TABLA: Modelos
id
nombre
marcaid // (el id de la marca, vinculación con la tabla MARCAS)
TABLA: Autos
id
nombre
modeloid // (el id del modelo, vinculación con la tabla MODELOS)
Ahora bien, lo que intento realizar es una consulta que "
obtenga los últimos autos añadidos de una marca determinada". Lo más fácil sería realizar una consulta similar a esta:
Código:
SELECT * FROM autos WHERE marcaid=21 order by id desc;
Sin embargo, mi tabla AUTOS no tiene la columna "marcaid", solo tiene vinculación con la tabla MODELOS a través de "modeloid". La tabla MODELOS sí tiene vinculación con la tabla MARCAS a través del camo "marcaid". Por tal razón me puse a investigar e hice una consulta que parecía solucionar los problemas:
Código:
SELECT * FROM autos,modelos,marcas WHERE autos.modeloid = modelos.id AND modelos.marcaid = 21;
Sin embargo, obtengo como resultado TODOS los registros de mi tabla AUTOS. Y nó solo los que pertenecen a cierta marca.
Ese sería mi problema y mi duda. De antemano, muchas gracias.