SQL - SQL rebelde

 
Vista:

SQL rebelde

Publicado por Johanna (3 intervenciones) el 27/09/2004 23:59:15
Hola Gente: Planteo mi pregunta rapidamente.
Necesito eliminar de una tabla (en una bd Mysql) todos los registros que NO tengan su simil en otras dos tablas. Realizo la sgte. instruccion:
DELETE FROM tabla3 WHERE campo NOT IN (SELECT DISTINCT campo FROM tabla1 UNION SELECT DISTINCT campo FROM tabla2);
- distinct porque hay valores repetidos para ese campo en las otras tablas- Lo probe en una bd Access de prueba y me da como resultado el error: "El contenido del subselect es una operacion no permitida en subconsultas".
Como puedo realizar la instruccion necesaria ?
Desde ya, muchas gracias por vuestra ayuda.
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

RE:SQL rebelde

Publicado por Isaías Islas (5072 intervenciones) el 28/09/2004 01:24:54
Creo que deberia ser:

DELETE FROM tabla3 WHERE campo NOT IN (SELECT DISTINCT campo FROM tabla1)
OR campo NOT IN (SELECT DISTINCT campo FROM tabla2);
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

Agradecimiento

Publicado por Johanna (3 intervenciones) el 28/09/2004 22:38:42
Muchas Gracias sr. Isías Islas: Resultó todo OK con el AND en vez del OR en su instrucción de ayuda.
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

RE:Agradecimiento

Publicado por Isaias (5072 intervenciones) el 28/09/2004 23:30:18
Perfecto !!!
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