MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Duda con consulta SQL en abap (foro/showthread.php?t=27310)

uo4396 13/01/09 11:33:05

Duda con consulta SQL en abap
 
Hola a todos.

Queria saber si el sql de abap soporta los conjuntos. Es decir, si hay alguna manera de hacer la siguiente consulta

select *
from tabla_A
where tabla-campo not in ( select campo
from tabla_B )

Muchas gracias a todos

gugutin 13/01/09 14:54:02

Hola,

select *
from tabla_A
where tabla-campo not in ( select campo
from tabla_B )


Yo creo que si pones un ranges para campo tabla_b y lo llenas previamente,

RANGES: RNG_campo FOR tabla_b-campo.

RNG_campo-SIGN = 'E'
RNG_campo-OPTION = 'EQ'.
RNG_campo-LOW = tabla_b-campo.
RNG_campo-HIGH = SPACE.

APPEND RNG_campo.

luego la instruccion seria

select * from tabla_A
where tabla-campo in RNG_campo.

No estoy seguro si es esta tu pregunta, espero haberte podido ayudar.

Saludos

melerogalan 13/01/09 16:58:34

Una posible solución evitando sentencias negativas en los SELECTs, seria.

Seleccionar todos los registros de la TABLA A.

Con esta tabla accedemos a la TABLA B.

Recorremos la TABLA A y eliminamos los registros que esten en la TABLA B.

En la TABLA A tenemos los registros que no esta en la TABLA B.


Creo que es esto lo que buscas.

uo4396 13/01/09 20:27:46

Gracias a los dos.
En cuanto a la primera solución no me vale porqué con el rango me coge todos los valores comprendidos entre el mayor y el menor y yo no necesito todos sino unos cuantos dentro de ese rango.
La segunda solución es la que he pensado yo lo q pasa que quería ver la forma de realizarlo en una única consulta SQL y no tener que hacer loops a tablas internas.

Muchas gracias de nuevo

bisonye 14/01/09 06:17:46


En un rango puedes indicarle valores individuales, rangos, excluir valores individuales, exluir rangos, mayor, menor, etc, etc.

Revisa los campos Sign y Option.

Saludos

melerogalan 14/01/09 07:16:38


Por eficiencia es mejor hacer un loops simple a una tabla interna que utilizar rangos con sentencias negativas. Hay que evitar los accesos a Base de datos lo máximo posible porque es lo que mas recursos consume.

Saludos.


Husos Horarios son GMT. La hora en este momento es 23:37:11.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web