Pular para o conteúdo
  • Este tópico contém 3 respostas, 3 vozes e foi atualizado pela última vez 15 anos, 6 meses atrás por thianolima.
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #95942
    thianolima
    Participante

      Galera estou executando a seguinte query abaixo


      SELECT
      DECODE(VS_MES, '01', VS_DATA, NULL) JAN_DAT,
      DECODE(VS_MES, '01', VS_SEMANA, NULL) JAN_SEM,
      DECODE(VS_MES, '01', VS_QTDE, 0) JAN_QTD,

      DECODE(VS_MES, '02', VS_DATA, NULL) FEV_DAT,
      DECODE(VS_MES, '02', VS_SEMANA, NULL) FEV_SEM,
      DECODE(VS_MES, '02', VS_QTDE, 0) FEV_QTD
      FROM(
      SELECT
      VS_QTDE,
      VS_DATA,
      VS_SEMANA,
      SUBSTR(VS_MES, 1, 2) VS_MES
      FROM TABLE(FNC_CONSERTO_ENTRANTES(TO_DATE('01/01/2010','DD/MM/YYYY'), TO_DATE('30/04/2010','DD/MM/YYYY'), NULL))
      ORDER BY VS_DATA
      )

      essa query me retorna o seguinte resultado abaixo


      Sequencia dos campos
      JAN_DAT - JAN_SEM - JAN_QTD - FEV_DAT - FEV_SEM - FEV_QTD

      01/01 - SEG - 1 - NULL - NULL - NULL
      02/01 - TER - 1 - NULL - NULL - NULL
      03/01 - QUA - 1 - NULL - NULL - NULL
      NULL - NULL - NULL - 01/02 - SEG - 10
      NULL - NULL - NULL - 01/02 - TER - 10
      NULL - NULL - NULL - 01/02 - QUA - 10

      O problema e que eu preciso que os dados do proximo mes apareca na frente e nao aconteca igual o exemplo de saida acima que ta trazendo tudo de janeiro e depois tudo de fevereiro. Queria que os dados de fevereiro aparecam logo em seguida como o exemplo abaixo


      Sequencia dos campos
      JAN_DAT - JAN_SEM - JAN_QTD - FEV_DAT - FEV_SEM - FEV_QTD

      01/01 - SEG - 1 - 01/02 - SEG - 10
      02/01 - TER - 1 - 01/02 - TER - 10
      03/01 - QUA - 1 -01/02 - QUA - 10

      Alguem pode me ajudar????

      #95977
      jspaulonci
      Participante

        O Burga é bom nisso

        #95984
        burga
        Participante

          rs… Valeu pela consideração João, mas bom mesmo é o francisco sitja, nosso amigo fsitja.

          Olhando isso aí, thianolima, você resolveria com um self join da sua tabela onde (mes_atual_tabela1 = mês_atual_tabela2 – 1 e mes_atual_tabela1 <= 11) OU (mes_atual_tabela1 = 12 e mes_atual_tabela2 = 1 e ano_atual_tabela1 = ano_atual_tabela2 – 1). Algo mais ou menos nesse sentido, mas usando join.

          #96105
          thianolima
          Participante

            Acabei fazendo um monte de query com subquery dentro para chegar no resultado… depois eu posto aqui

          Visualizando 4 posts - 1 até 4 (de 4 do total)
          • Você deve fazer login para responder a este tópico.