MySQL - DELETE + JOIN

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

DELETE + JOIN

Publicado por Luis (4 intervenciones) el 10/01/2019 13:27:53
Hola, muy buenas a todos

Necesito ejecutar esta sentencia

1
DELETE FROM 7ze21JXhRV_vehiculoUbicacion LEFT JOIN 7ze21JXhRV_vehiculos ON 7ze21JXhRV_vehiculos.id_ubicacion = 7ze21JXhRV_vehiculoUbicacion.id_ubicaion WHERE 7ze21JXhRV_vehiculoUbicacion.id_ubicaion NOT IN 7ze21JXhRV_vehiculos.id_ubicacion

o esta otra variante

1
DELETE FROM 7ze21JXhRV_vehiculoUbicacion WHERE id_ubicacion NOT IN (SELECT id_ubicacion FROM 7ze21JXhRV_vehiculos)

La primera opción me da un error sintax cerca 'LEFT JOIN...' como si no le gustase.

La segunda si que se ejecuta pero no me hace lo que quiero

Simplemente necesito eliminar de mi tabla Ubicaciones las que no tengan ningún vehículo asociado


Espero que puedan ayudar. Gracias
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
Imágen de perfil de xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

DELETE + JOIN

Publicado por xve (1151 intervenciones) el 10/01/2019 14:08:45
Hola Luis, prueba a indicar la tabla que quieres eliminar... algo así:

1
2
3
DELETE 7ze21JXhRV_vehiculoUbicacion
FROM 7ze21JXhRV_vehiculoUbicacion LEFT JOIN 7ze21JXhRV_vehiculos ON 7ze21JXhRV_vehiculos.id_ubicacion = 7ze21JXhRV_vehiculoUbicacion.id_ubicaion
WHERE 7ze21JXhRV_vehiculoUbicacion.id_ubicaion NOT IN 7ze21JXhRV_vehiculos.id_ubicacion

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

DELETE + JOIN

Publicado por Luis (4 intervenciones) el 10/01/2019 15:29:37
Me da el siguiente error

1
2
3
MySQL ha dicho: Documentación
 
#1064 - Algo está equivocado en su sintax cerca '7ze21JXhRV_vehiculos.id_ubicacion' en la linea 3

Lo he revisado un buen rato y no tengo error alguno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 98
Bronce
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

DELETE + JOIN

Publicado por Yamil Bracho (40 intervenciones) el 10/01/2019 15:42:35
In es una funcion asi que debes encerra el valor entre parentesis

NOT IN (7ze21JXhRV_vehiculos.id_ubicacion)
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
sin imagen de perfil
Val: 9
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

DELETE + JOIN

Publicado por Luis (4 intervenciones) el 10/01/2019 16:13:32
Ya he cambiado como me has dicho

1
2
3
MySQL ha dicho: Documentación
 
#1054 - La columna '7ze21JXhRV_vehiculoUbicacion.id_ubicaion' en where clause es desconocida
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

DELETE + JOIN

Publicado por Luis (4 intervenciones) el 10/01/2019 16:29:08
Gracias por la ayuda.

Ya he dado con la sentencia

1
DELETE FROM 7ze21JXhRV_vehiculoUbicacion WHERE id_ubicacion NOT IN (SELECT id_ubicacion FROM 7ze21JXhRV_vehiculos as v WHERE v.id_ubicacion = 7ze21JXhRV_vehiculoUbicacion.id_ubicacion)
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