MySQL - Ayuda con esta consulta!!!-ERROR 1054

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 20 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Ayuda con esta consulta!!!-ERROR 1054

Publicado por pepe (1 intervención) el 21/01/2021 21:32:16
EL ENUNCIADO ES EL SIGUIENTE: Devuelve el ID_MOVIMIENTO, FECHA_MOVIMIENTO, PRECIO, ID_INMUEBLE, de todos los movimientos del Agente
cuyo DNI es 05784218V, incluida la DIRECCION y POBLACION del Inmueble del movimiento, y DESCRIPCION del
Tipo de Inmueble, DESCRIPCION del Tipo de Movimiento, DNI y NOMBRE y APELLIDOS del Cliente, así como DNI,
NOMBRE y APELLIDOS del Agente correspondiente.


1
2
3
4
5
6
7
select m.id_movimiento, m.fecha_movimiento, m.precio, m.id_inmueble, i.direccion, i.poblacion, ti.descripcion, tm.descripcion, c.dni, c.nombre, c.apellidos, a.dni, a.nombre, a.apellidos
from agente a, cliente c, tipo_movimiento tm, movimiento m, tipo_inmueble ti, inmueble i
inner join movimiento as m1 on a.dni = m1.agente_dni
inner join movimiento as m2 on c.dni = m2.cliente_dni
inner join movimiento as m3 on m3.codigo_tipo_movimiento = tm.codigo_tipo_movimiento
inner join movimiento as m4 on m4.id_inmueble = i.id_inmueble
inner join inmueble as i1 on i1.codigo_tipo_inmueble = ti.codigo_tipo_inmueble;

PRIMERO ME DABA ERROR 1066 QUE ES BASICAMENTE QUE NO HABIA PUESTo ALIAS EN CADA INNER JOIN, UNA VEZ CREO QUE HE ARREGLADO ESO ME SALE ERROR 1066
Echadle un vistazo a ver porque es.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Ayuda con esta consulta!!!-ERROR 1054

Publicado por anonymous (59 intervenciones) el 21/01/2021 21:53:08
Estás renombrando la tabla Movimiento con 4 alias diferentes para viajar a la misma tabla.

Eso se suele hacer para tablas de tipo List_Of_Value donde se mezclan cosas y es necesario darle varios alias para sacar múltiples columnas de diferente tipo.

Pero en este caso no aplica

Tu debes partir del movimiento y hacer 5 inner join hacia las demás

Muestra la estructura de esas tablas para conocer bien las foráneas y poder relacionarles adecuadamente y construirlo como debe ser

Ese query tuyo está muy raro, el error 1066 lo que te está diciendo es que la tabla No es una tabla única, a esa tabla deberías de haberle dado un solo alias por ejemplo Mov y luego encadenar Mov.Clave_PK = OtraTabla.Clave_FK y así sucesivamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar