Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #98562
    Avatar de VINI85VINI85
    Participante

      Boa tarde Galera,

      Preciso de uma query que me traga as infomações em somente uma linha. Na query abaixo para cada mês acrecenta uma linha para o funcionario….preciso que saia conforme exemplo abaixo:

      João | 100,00 | 200,00

      Segue query
      SELECT F.NOME,
      FUN.NOME,
      FIN1.VALOR,
      null,

      FROM PFUNC F

      JOIN PFPERFF PER
      ON F.CODCOLIGADA = PER.CODCOLIGADA
      AND F.CHAPA = PER.CHAPA

      JOIN PFFINANC FIN1
      ON F.CODCOLIGADA = FIN1.CODCOLIGADA
      AND F.CHAPA = FIN1.CHAPA
      AND PER.MESCOMP = FIN1.MESCOMP
      AND PER.ANOCOMP = FIN1.ANOCOMP
      AND PER.NROPERIODO = FIN1.NROPERIODO
      AND FIN1.CODEVENTO IN(‘0730′)
      AND FIN1.MESCOMP = ’01’

      JOIN PFUNCAO FUN
      ON F.CODFUNCAO = FUN.CODIGO
      AND F.CODCOLIGADA = FUN.CODCOLIGADA

      WHERE F.CODCOLIGADA = ‘547’
      AND PER.ANOCOMP = ‘2011’
      AND PER.NROPERIODO = ‘2’

      UNION

      SELECT F.NOME,
      FUN.NOME,
      null,
      FIN2.VALOR

      FROM PFUNC F

      JOIN PFPERFF PER
      ON F.CODCOLIGADA = PER.CODCOLIGADA
      AND F.CHAPA = PER.CHAPA

      JOIN PFFINANC FIN2
      ON F.CODCOLIGADA = FIN2.CODCOLIGADA
      AND F.CHAPA = FIN2.CHAPA
      AND PER.MESCOMP = FIN2.MESCOMP
      AND PER.ANOCOMP = FIN2.ANOCOMP
      AND PER.NROPERIODO = FIN2.NROPERIODO
      AND FIN2.CODEVENTO IN(‘0730′)
      AND FIN2.MESCOMP = ’02’

      JOIN PFUNCAO FUN
      ON F.CODFUNCAO = FUN.CODIGO
      AND F.CODCOLIGADA = FUN.CODCOLIGADA

      WHERE F.CODCOLIGADA = ‘547’
      AND PER.ANOCOMP = ‘2011’
      AND PER.NROPERIODO = ‘2’

      #98566
      Avatar de burgaburga
      Participante

        Oi Vini,

        Podemos sumir com esse UNION, conforme a consulta abaixo… O resto, se eu entendi bem o que você está querendo, é só usar um group by.

        SELECT F.NOME,
        FUN.NOME,
        SUM(DECODE(FIN.MESCOMP,'01',FIN.VALOR,0)),
        SUM(DECODE(FIN.MESCOMP,'02',FIN.VALOR,0))
        FROM PFUNC F
        JOIN PFPERFF PER
        ON F.CODCOLIGADA = PER.CODCOLIGADA
        AND F.CHAPA = PER.CHAPA
        JOIN PFFINANC FIN
        ON F.CODCOLIGADA = FIN.CODCOLIGADA
        AND F.CHAPA = FIN.CHAPA
        AND PER.MESCOMP = FIN.MESCOMP
        AND PER.ANOCOMP = FIN.ANOCOMP
        AND PER.NROPERIODO = FIN.NROPERIODO
        AND FIN.CODEVENTO IN('0730')
        AND FIN.MESCOMP IN ('01','02')
        JOIN PFUNCAO FUN
        ON F.CODFUNCAO = FUN.CODIGO
        AND F.CODCOLIGADA = FUN.CODCOLIGADA
        WHERE F.CODCOLIGADA = '547'
        AND PER.ANOCOMP = '2011'
        AND PER.NROPERIODO = '2'
        GROUP BY F.NOME, FUN.NOME;

        Se o código ainda não estiver 100%, pelo menos você já tem um ponto de partida…

        Abraços

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