none
Consulta Select Max con Parámetros RRS feed

  • Pregunta

  • Buen día a todos. Tengo una consulta Select que devuelve el registro mas alto, debiendo tener en cuenta Dos parámetros. La consulta es la siguiente.

    ConsultaSelect =

    "SELECT * FROM VistaIngresoProdAdquiWHERE Pedido=@Pedido AND Codigo=@Codigo AND Reg=(SELECT MAX(Reg) FROM VistaIngresoProdAdqui)"

    Lo que necesito es que me devuelva el Reg. más alto teniendo en cuenta el Pedido y el Código pasados como parámetros.

    Aclaro que esta consulta me devuelve lo que necesito en forma correcta cuando el Pedido tiene más de un Registro asociado. El tema es cuando el Pedido cuenta con un único Reg., no muestra nada, solo los encabezados de las columnas.

    El resultado de la consulta lo muestra en un DGV y tiene que ser el registro completo, porque después se selecciona y lo vuelco a diversas cajas de texto y combos en un Form.

    La vista, está confeccionada de un par de tablas de la DB.

    Ahora, ¿Es correcto que si hay un solo Reg asociado al pedido, el SELECT MAX no lo muestre? ¿De ser así, como puedo solucionarlo?

    Ejemplo: Pedido 1000 | Código 10 | Reg 1, Reg 2, Reg 3 etc.. Funciona bien, me muestra el último Reg.

                  Pedido 1200 | Código 10 | Reg 1 No muestra nada.

    Desde ya, muchas gracias de antemano

    viernes, 11 de noviembre de 2016 14:04

Respuestas

Todas las respuestas

  • Te faltaria repetir el where en la sub-consulta

    "SELECT * FROM VistaIngresoProdAdquiWHERE Pedido=@Pedido AND Codigo=@Codigo AND Reg=(SELECT MAX(Reg) FROM VistaIngresoProdAdqui WHERE Pedido=@Pedido AND Codigo=@Codigo)"

    viernes, 11 de noviembre de 2016 14:44
  • Buen día a todos. Tengo la siguiente consulta Select

    Consulta =

    "SELECT * FROM VistaIngresoProdAdquiWHERE Pedido=@Pedido AND Codigo=@Codigo AND Reg=(SELECT MAX(Reg) FROM VistaIngresoProdAdqui)"

    Necesito que me devuelva en un DGV el registro completo, cumpliendo la clausula WHERE, debiendo el numero más alto de Reg.

    Esta consulta funciona bien, en tanto y en cuanto el Pedido tenga mas de un Reg. asociado. El problema viene cuando un pedido cualquiera tiene solo un único registro asociado. En el DGV solo aparecen los encabezados de columna y cero registro.

    Ahora ¿Es correcto que el SELECT MAX no lo muestre si hay un solo Registro asociado a un pedido? de ser así, ¿Cómo Corregir la Consulta?

    Ejemplo: Pedido 1000 | Código 10 | Reg 1, Reg 2, Reg 3 etc.. Muestra como corresponde el último Reg atento a la condición.

                  Pedido 1200 | Código 10 | Reg 1 No muestra nada en el DGV.

    Si o si tiene que mostrar el registro completo de la Vista para ser seleccionado del DGV y pasar los datos a cajas de texto y demás..

    La vista está confeccionada con un par de tablas de la DB.

    De antemano, muchas gracias.

    viernes, 11 de noviembre de 2016 16:15
  • Esta pregunta la respondí colocada como otro usuario.  ¿Alguna razón para repetirla con un usuario distinto?

    viernes, 11 de noviembre de 2016 16:22