Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Equivalencia al "MINUS" de Oracle

64 views
Skip to first unread message

Joan Carles Jiménez

unread,
Mar 15, 2004, 6:41:52 AM3/15/04
to
Hola a todos!!

Tengo una sentencia SQL que se ejecuta bajo un servidor Oracle. Esta
sentencia contiene la particula MINUS (diferencia) y ahora que me veo
obligado a utilizarun servidor SQL, no funciona. ¿Me pueden decir si hay
alguna equivalencia en SQL del MINUS de Oracle?

Gracias por la ayuda.

Joan Carles Jiménez
jcji...@infomail.lacaixa.es

Miguel Egea

unread,
Mar 15, 2004, 6:59:17 AM3/15/04
to
Si no recuerdo mal lo que hace minus, no existe ninguna,

Minus es la dferencia de conjuntos ¿verdad? son los que están en a que no
estan en b. Yo lo haría ocn un left join

Select a.* from a left join b on a.id=b.id where b.id is null.
esto si te vale solo con las primarys keys si buscas propiamente la función
de minus tendrías que poner en el on todos los campos. También puede
implementarse con la cláusula in y exists.

Saludos
miguel Egea


"Joan Carles Jiménez" <jcji...@infomail.lacaixa.es> escribió en el mensaje
news:OjWbmIoC...@TK2MSFTNGP12.phx.gbl...

ulises

unread,
Mar 15, 2004, 9:21:55 AM3/15/04
to
De este tipo de operaciones entre conjuntos, SQL Server
solo soporta UNION y UNION ALL no soporta ni el MINUS ni
INTERSECT, aunque ambos pueden ser implementados con
EXISTS (o con JOINs como lo explica Miguel) :

MINUS :

Select a.* from a
where a.id not exists ( select 1 from b where b.id = a.id )

INTERSECT :

Select a.* from a
where a.id exists ( select 1 from b where b.id = a.id )

Saludos,
Ulises

>-----Mensaje original-----

>.
>

Joan Carles Jiménez

unread,
Mar 16, 2004, 4:23:51 AM3/16/04
to
Muchas gracias!!

Joan Carles Jiménez
jcji...@infomail.lacaixa.es

"ulises" <ulises.c...@terra.com.pe> escribió en el mensaje
news:d36d01c40a98$de611e70$a301...@phx.gbl...

0 new messages