¿Cómo eliminar filas de otra tabla en SQLITE?
Tengo estas tablas
ATWAR Clave primaria ShipName y War_ID
ShipName | WarID |
---|---|
First | 1 |
Second | 2 |
Third | 3 |
SHIP Clave primaria Ship_Name
ShipName | ShipType_ID |
---|---|
First | S.1 |
Second | S.2 |
Third | S.3 |
FOURTH | S.4 |
Deseo eliminar de la tabla SHIP los barcos que no participaron en una guerra.
Si quiero mostrar los barcos que participan en una guerra, puedo usar este comando:
SELECT DISTINCT SHIP.Ship_Name FROM SHIP
INNER JOIN AT_WAR ON SHIP.Ship_Name = AT_WAR.Ship_Name
Estoy usando este comando pero no funciona:
DELETE FROM SHIP
INNER JOIN AT_WAR ON SHIP.Ship_Name = AT_WAR.Ship_Name
WHERE AT_WAR.Ship_Name IS NULL;
¡Gracias de antemano!
davy.ai
Para eliminar los barcos que no participaron en una guerra de la tabla SHIP, puedes usar el siguiente comando:
Esto eliminará todas las filas de la tabla SHIP donde el Ship_Name no esté presente en la columna Ship_Name de la tabla AT_WAR. La subconsulta
(SELECT Ship_Name FROM AT_WAR)
devuelve todos los Ship_Names que aparecen en la tabla AT_WAR, y el operadorNOT IN
filtra cualquier Ship_Name que no esté en esa lista.