PDA

Ver la Versión Completa : performance for all entries


acontreras
06/02/09, 18:25:14
Amigos:

Me pidieron hacer un montón de optimizaciones, en una de estas me pidieron modificar el siguiente código utilizando inner join, como puedo hacerlo?? a alguien se le ocurre:

SELECT ebeln ebelp loekz konnr ktpnr lmein meins netwr pstyp
INTO CORRESPONDING FIELDS OF TABLE s_ekpo2
FROM ekpo
FOR ALL ENTRIES IN i_salida
WHERE ebeln EQ i_salida-ebeln .

SELECT ebeln ebelp zekkn belnr buzei gjahr dmbtr wrbtr shkzg
INTO CORRESPONDING FIELDS OF TABLE s_ekbe2
FROM ekbe
FOR ALL ENTRIES IN s_ekpo2
WHERE ebeln EQ s_ekpo2-ebeln
AND vgabe EQ '9' .

SELECT ebeln ebelp zekkn belnr buzei gjahr dmbtr wrbtr shkzg
INTO CORRESPONDING FIELDS OF TABLE s_ekbe3
FROM ekbe
FOR ALL ENTRIES IN s_ekpo2
WHERE ebeln EQ s_ekpo2-ebeln
AND vgabe EQ '1' .

carvarp
06/02/09, 18:57:15
Tal vez te sirva este query, no lo probe pero debe de funcionar

SELECT ebeln ebelp loekz konnr ktpnr lmein meins netwr pstyp
zekkn belnr buzei gjahr dmbtr wrbtr shkzg
INTO CORRESPONDING FIELDS OF TABLE s_ekpo2
FROM ekpo INNER JOIN ekbe
on ekpo~ebeln eq ekbe~ebeln
and ekpo~ebelp eq ekbe~ebelp
FOR ALL ENTRIES IN i_salida
WHERE ebeln EQ i_salida-ebeln .
AND ( vgabe EQ '9' OR vgabe EQ '1' )

Saludos

Carlos

acontreras
06/02/09, 19:31:30
Compañero:

gracias por la respuesta, mira lo probé pero me sale el siguiente error:

A row with the same key already exists

bueno gracias por la paciencia

saludos

carvarp
06/02/09, 19:38:34
SELECT ekpo~ebeln ekpo~ebelp ekpo~loekz ekpo~konnr ekpo~ktpnr ekpo~lmein ekpo~meins ekpo~netwr ekpo~pstyp
ekbe~zekkn ekbe~belnr ekbe~buzei ekbe~gjahr ekbe~dmbtr ekbe~wrbtr ekbe~shkzg
INTO CORRESPONDING FIELDS OF TABLE s_ekpo2
FROM ekpo INNER JOIN ekbe
on ekpo~ebeln eq ekbe~ebeln
and ekpo~ebelp eq ekbe~ebelp
FOR ALL ENTRIES IN i_salida
WHERE ebeln EQ i_salida-ebeln .
AND ( vgabe EQ '9' OR vgabe EQ '1' )

Saludos

Carlos

acontreras
06/02/09, 19:46:02
Gracias Lo Voy A Probar

acontreras
06/02/09, 19:59:39
Gracias compañero lo probé y funciona solo tuve que aplicar al fin de la query DELETE ADJACENT DUPLICATES FROM s_ekpo2 COMPARING ebeln ebelp y estamos listeilor

Vale por la ayuda de new