SQL - ANY en expresiones regulares

   
Vista:

ANY en expresiones regulares

Publicado por elaragon (1 intervención) el 22/10/2009 10:22:46
Hola,

Estoy intentando realizar una eliminación de filas en una tabla SQL pero necesito ayuda.

Imaginemos:

DELETE FROM TABLA1 WHERE ATRIBUTO1=SELECT ATRIBUTO2 FROM TABLA2

Esta sentencia sólo es válida si el select nos devuelve una fila, por lo que hay que escribir:

DELETE FROM TABLA1 WHERE ATRIBUTO1 = ANY SELECT ATRIBUTO2 FROM TABLA2
DELETE FROM TABLA1 WHERE ATRIBUTO1 IN SELECT ATRIBUTO2 FROM TABLA2

El problema me surge porque la setencia que quiero es:

DELETE FROM TABLA1 WHERE ATRIBUTO1 REGEXP SELECT ATRIBUTO2 FROM TABLA2

Y con REGEXP (expresión regular) las cláusulas ANY e IN no son válidas.

Alguna idea?

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

RE:ANY en expresiones regulares

Publicado por Antoni (4 intervenciones) el 22/10/2009 17:54:15
Si te entendido bien, pretendes eliminar las filas de la TABLA1 si existen en la TABLA2 con ATRIBUTO2=ATRIBUTO1 con independencia del número de filas iguales que existan en TABLA2.

DELETE FROM TABLA1
WHERE ATRIBUTO1 IN (SELECT ATRIBUTO2 FROM TABLA2)

debería funcionar .
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