none
Ayuda en Consulta Kardex con 2 tablas RRS feed

  • Pregunta

  • Buen dia :

    Agradeceria me apoyen en esta consulta, funciona OK mientras exista movimiento de kardex de los articulos, pero si uno de ellos no tiene movimiento en un mes no lo lista. Como puedo hacer... La consulta es asi :

    declare @fechaini date, @fechafin date
    set @fechaini='2018-08-01'
    set @fechafin='2018-08-30'
    SELECT P.Descripcion, st.StockInicial, ISNULL(K.ENTRADAS,0) as Entradas, ISNULL(K.SALIDAS,0) as Salidas
    FROM Tab_Stock st inner join Tab_Productos P
    on st.IdProducto=p.IdProducto LEFT JOIN Tab_Kardex K ON k.idStock=st.IdStock
    WHERE K.FECHA>=@FECHAINI AND K.FECHA<=@FECHAFIN

    Quiero que me salga:

    Arroz - 150.00 - 0.00 - 0.00 

    Azucar - 220.00 - 0.00 - 0.00

    Aceite - 20.00 - 5.00 - 0.00

    Es decir que me liste los saldos iniciales, y las entradas y salidas si no hay movimiento que liste cero, pero en esa consulta por ejemplo solo lista el Aceite porque tiene movimiento, los otros 2 no.

    Gracias de antemano

    Armando


    Armando

    jueves, 19 de julio de 2018 16:02

Respuestas

  • Hola Armando Salas:

    La consulta puede quedar tal que así:

    SELECT p.DESCRIPCION,
           st.StockInicial,
           CAST(ISNULL(K.ENTRADAS, 0) AS DECIMAL(10, 2)) AS ENTRADAS,
           CAST(ISNULL(K.SALIDAS, 0) AS DECIMAL(10, 2)) AS SALIDAS
    FROM TAB_STOCK st
         INNER JOIN TAB_PRODUCTOS p ON st.IDPRODUCTO = p.IDPRODUCTO
         LEFT JOIN TAB_KARDEX K ON K.idStock = st.IDSTOCK
    WHERE(K.fecha >= @fechaini
          AND K.fecha <= @fechafin
          OR K.fecha IS NULL);
    

    Un saludo

    • Marcado como respuesta Armando Salas jueves, 19 de julio de 2018 22:20
    jueves, 19 de julio de 2018 21:58

Todas las respuestas

  • Me parece que el problema es la clausula Where, porque cuando lo listo solo de un producto ahi si sale pero yo necesito limitar las fechas.

    Espero su ayuda, Saludos

    Armando


    Armando

    jueves, 19 de julio de 2018 16:16
  • Hola armando

    Entonces where ......orK.fecha is null

    Un saludo

    jueves, 19 de julio de 2018 16:27
  • Hola Armando Salas:

    La consulta puede quedar tal que así:

    SELECT p.DESCRIPCION,
           st.StockInicial,
           CAST(ISNULL(K.ENTRADAS, 0) AS DECIMAL(10, 2)) AS ENTRADAS,
           CAST(ISNULL(K.SALIDAS, 0) AS DECIMAL(10, 2)) AS SALIDAS
    FROM TAB_STOCK st
         INNER JOIN TAB_PRODUCTOS p ON st.IDPRODUCTO = p.IDPRODUCTO
         LEFT JOIN TAB_KARDEX K ON K.idStock = st.IDSTOCK
    WHERE(K.fecha >= @fechaini
          AND K.fecha <= @fechafin
          OR K.fecha IS NULL);
    

    Un saludo

    • Marcado como respuesta Armando Salas jueves, 19 de julio de 2018 22:20
    jueves, 19 de julio de 2018 21:58
  • Muchas gracias... Me soluciono el tema.

    Armando

    jueves, 19 de julio de 2018 22:20