Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/01/2015, 19:02
Natea
 
Fecha de Ingreso: septiembre-2003
Ubicación: Barcelona
Mensajes: 7
Antigüedad: 20 años, 8 meses
Puntos: 0
Duda sobre secuencia SQL

Buenas :)

Estoy manejando una Base de Datos Mysql y más o menos me apaño con la mayoría de cosas más habituales, pero ahora me viene una duda y estoy segura que debe existir una secuencia sql que me facilite la tarea que debo hacer.

Verán, tengo dos tablas.

Una se llama Coches y se vería así:

Matrícula | Marca | Modelo | Revisión

La otra tabla se llama Alquileres y se vería así:

Matrícula | Alquilado |Cliente

Bien, en la tabla Coches tengo todos los coches comprados por la empresa y en la tabla Alquileres, los que están siendo alquilados por un cliente en estos momentos.
Ahora bien, lo que yo quisiera hacer es una secuencia SQL con la que automáticamente pueda borrar de la tabla Coches los coches que están listados en la tabla de Alquileres, por ejemplo seleccionando la Matrícula, que es un dato que está igual en ambas tablas.

Sé que debería ser alguna secuencia del tipo DELETE FROM `Coches` WHERE... y no sé bien qué colocar en este punto, sabría hacer la scuencia si es cada Matrícula una a una individual, pero seguro que debe existir forma de que una sola secuencia SQL pueda decirle "borrame todos los coches de la tabla Coches donde exista su matrícula en la celda Matrícula de la tabla Alquileres".

He estado buscando por internet y no sé si sería algo así:

Código MySQL:
Ver original
  1. DELETE FROM `Coches` WHERE `Matricula` IN (SELECT `Matricula` FROM `Alquileres`);

Espero haberme explicado >_<

Si alguien me lo puede aclarar o confirmar, antes de que haga algún estropcicio a la Base de Datos xD

¡Un saludo!