3 Replies Latest reply: Jun 5, 2017 9:26 AM by Vineeth Pujari RSS

    SQL - Incluir meses em tabela

    Jean Felipe jeanlipes

      Bom dia,

       

      Eu tenho a tabela abaixo, onde consta a data de movimentação das informações (data de alteração).

       

      No exemplo abaixo, tenho alterações no Mês 07/2016, 08/2016, 09/2016, 04/2017 e 30/2017.

      Existe a possibilidade de através do BI incluir mais linhas na tabela com os meses faltantes?

      Preciso que as mesmas informações cadastradas no mês 09/2016 apareçam para o mês 10/2016, 11/2016 e assim por diante.

       

      Essa é uma tabela de alteração de valores, gostaria de saber qual foi a posição do mês, e na tabela abaixo se consultar 11/2016 não consigo listar nada, mais preciso que liste com as informações do mês 09/2016 que foi o ultimo mês.

       

       

      Duvidas estou a disposição!

       

      SQL:

       

      SELECT A.CD_PRODUTO        AS COD_PRODUTO,
         A.DS_PRODUTO        AS DES_PRODUTO,
         A.TP_VALOR          AS TIP_VALOR,
         A.CD_VALOR          AS COD_VALOR,
         A.DS_VALOR          AS DES_VALOR,
         A.DT_MOVIMENTO      AS DAT_MOVIMENTO,
         A.CD_MOTIVO         AS COD_MOTIVO,
         A.DS_MOTIVO         AS DES_MOTIVO,
         A.VL_ANTERIOR       AS VAL_ANTEIROR,
         A.VL_ATUALIZADO     AS VAL_ATUALIZADO,
         A.CD_OPERADOR       AS COD_OPERADOR,
         A.DT_CADASTRO       AS DAT_CADASTRO,
         (SELECT MAX(C.DT_CADASTRO) FROM Ukaiani.VR_PRD_ALTVALOR C WHERE C.CD_PRODUTO = A.CD_PRODUTO AND C.TP_VALOR = A.TP_VALOR AND C.CD_VALOR = A.CD_VALOR AND TO_CHAR(C.DT_MOVIMENTO, 'MM') = TO_CHAR(A.DT_MOVIMENTO, 'MM'))
                                 AS DAT_ULT_MOV,
         (SELECT MAX(C.DT_CADASTRO) FROM Ukaiani.VR_PRD_ALTVALOR C WHERE C.CD_PRODUTO = A.CD_PRODUTO AND C.TP_VALOR = A.TP_VALOR AND C.CD_VALOR = A.CD_VALOR)
                                 AS DAT_ULT_MOV_GERAL

      FROM Ukaiani.VR_PRD_ALTVALOR A

      WHERE A.CD_PRODUTO = 1000130

      AND   A.TP_VALOR = 'C'

      AND   A.CD_VALOR = 4;