Anuncio

Colapsar
No hay anuncio todavía.

Seleccionar ultimo registro

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Seleccionar ultimo registro

    Señores buenas noches, tengo en una tabla interna una lista de numero de materiales (matnr) y deseo consultar la ultima guía de remisión (xblnr) con la que fue enviada a un centro, dicha información se encuentra en likp (documento de entrega - cabecera) y lips (documento de entrega - detalle) , el problema radica en que no puedo hacer un:

    Select single por que me muestra el registro mas antiguo o mejor dicho el primer registro que aparece en la tabla, con la fecha mas antigua, y no puedo seleccionar todos las guias de remisión y luego ordenarlas descendentemente para coger el primer registro por que son muchos registros y me da una excepción de time up

    es como si tuviera esta tabla

    Fecha VBELN XBLNR matnr
    12.01.2011 00000000012 GR-0012-00002 000012
    15.01.2011 00000000013 GR-0012-00003 000012
    16.01.2011 00000000015 GR-0012-00005 000012
    18.01.2011 00000000018 GR-0012-00010 000012
    21.01.2011 00000000022 GR-0012-00015 000012
    22.01.2011 00000000025 GR-0012-00018 000012
    .
    . (millones de registros)
    .
    20.11.2013 09523214122 GR-0812-00122 000012
    20.11.2013 09523214128 GR-0812-00152 000012

    si mi fecha actual es 22.11.2013 entonces quiero recuperar el siguiente registro:
    20.11.2013 09523214128 GR-0812-00152 000012

    si hago un select single, me tomara este registro.
    12.01.2011 00000000012 GR-0012-00002 000012

    Como les digo no puedo tomar todas las guias y ordenarlas desendentemente y tampoco puedo ponerle rango de fecha ya que es un factor independiente, ya que la ultima guia puede ser de 1, 2 o 3 o quien sabe años atras...
    entonces alguna idea???

    Gracias

  • #2
    Hola,

    Tienes que hacer lo siguiente:

    SELECT MAX ( fecha ) VBELN XBLNR matnr
    from (las tablas con o sin join según lo que necesites)
    into registro que quieres que tenga el resultado.

    Saludos!

    Comentario


    • #3
      ya he intentado hacer eso, no se por que demora demasiado.

      saludos.


      Originalmente publicado por koken Ver Mensaje
      Hola,

      Tienes que hacer lo siguiente:

      SELECT MAX ( fecha ) VBELN XBLNR matnr
      from (las tablas con o sin join según lo que necesites)
      into registro que quieres que tenga el resultado.

      Saludos!

      Comentario


      • #4
        Buenas,

        muéstranos la consulta que realizas para ver donde puede estar el problema.

        Saludos

        Comentario


        • #5
          La consulta es la que indica Koken. El problema puede estar en el Join de tablas (si haces alguno) y en la cantidad de registros.

          Personalmente intentaría no hacer un join de tablas o al menos hacerlo sólo entre la LIKP y la LIPS mediante clave y para erducir el tiempo de ejecución creo que deberás crear un índice en la tabla.

          Saludos
          "Soy el señor Lobo, arreglo problemas"
          http://sapymas.blogspot.com/

          Comentario

          Trabajando...
          X