Ayuda con query left outter join

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • 27psiBOOM
    Junior Member
    • jun
    • 22

    #1

    Ayuda con query left outter join

    Espero que alguien me pueda ayudar, aquí explico mi problema

    Requiero hacer una consulta que me muestre todos los registros de la tabla EBAN en donde el código de artículo no exista en la tabla RESB y filtrando los materiales con status y posiciones borradas.

    Al final lo que necesito es un listado de solped generadas que no tengan reservas.

    Estoy usando la condición left outer en la tabla EBAN qu está al lado izquierdo y la tabla RESB al lado derecho haciendo join a través del campo MATNR pero la query solo me devuelve los registros en donde el campo MATNR coincide en lugar de mostrarme todos los datos de EBAN y con campos vacios en caso el MATNR no exista en la tabla RESB

    Espero que alguien pueda ayudarme
  • cvargas
    Junior Member
    • jun
    • 7

    #2
    Yo realice un SELECT similar pero en otras tablas

    SELECT m~MATNR s~LBKUM
    from ( MSEG as m LEFT JOIN MBEWH as s
    ON m~MATNR EQ s~MATNR
    AND ( s~LFGJA EQ 2007 and s~LFMON EQ 5 ) )


    Lo que hace este select es devolver todas los materiales que
    se encuentran en la tabla MSEG y los stocks de la tabla MBEWH
    ( Si es que estos existieran en el Mes de Mayo del Año 2007 )


    Espero te pueda servir

    Carlos


    Originalmente publicado por 27psiBOOM
    Espero que alguien me pueda ayudar, aquí explico mi problema

    Requiero hacer una consulta que me muestre todos los registros de la tabla EBAN en donde el código de artículo no exista en la tabla RESB y filtrando los materiales con status y posiciones borradas.

    Al final lo que necesito es un listado de solped generadas que no tengan reservas.

    Estoy usando la condición left outer en la tabla EBAN qu está al lado izquierdo y la tabla RESB al lado derecho haciendo join a través del campo MATNR pero la query solo me devuelve los registros en donde el campo MATNR coincide en lugar de mostrarme todos los datos de EBAN y con campos vacios en caso el MATNR no exista en la tabla RESB

    Espero que alguien pueda ayudarme

    Comentario

    • danny
      Member
      • mar
      • 36

      #3
      Holas;
      yo lo haria obteniendo 2 tablas internas

      *los registros de eban x las condiciones k necesites
      SELECT *
      INTO TABLE T_1
      FROM EBAN
      WHERE MATNR = CONDICION1.

      *los registro de resb solo los materiales k se obtuvieron en eban
      SELECT *
      INTO TABLE T_2
      FROM RESB
      FOR ALL ENTRIES IN T_1
      WHERE MATNR = T_1-MATNR and
      XLOEK = tu condicion.

      *luego me barro la interna de eban y elimino las k estan en la interna de resb.
      LOOP AT T_1.
      READ TABLE T_2 WITH KEY MATNR = T_1-MATNR.
      IF SY-SUBRC = 0.
      BORRAS EL REGISTRO.
      ENDIF.
      ENDLOOP.

      es una idea k espero te pueda servir,
      Saludos;
      Editado por última vez por danny; 03/07/2008, 15:22:47.

      Comentario

      Trabajando...