Pular para o conteúdo
Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #99151
    SamantaS
    Participante

      Boa tarde, pessoal.
      Estou tentando criar uma query que deveria pegar as empresas q tem sua ultima movimentação ate o mes 12/2010. Mas com a query q eu criei, vem todas as coligadas q tem a competencia ate 12/2010 e as outras posteriores tb, ou seja, mesmo q o ano e mes de competencia passe para janeiro de 2011 até os dias atuais, ele subentede que esses valores devem ser puxados por também estarem inclusos no mes de 2010.Minha primeira query foi:
      SELECT DISTINCT CODCOLIGADA, MAX(MESCOMP), MAX(ANOCOMP)
      FROM PFPERFF

      GROUP BY CODCOLIGADA
      ORDER BY CODCOLIGADA

      Essa me permite ver tds as empresas com qlqr competencia.A segunda,q deveria me mostrar somente as de ano de comp 2010, me mostram tds as empresas.Não só as q eu preciso.
      SELECT DISTINCT CODCOLIGADA, MAX(MESCOMP), MAX(ANOCOMP)
      FROM PFPERFF
      WHERE ANOCOMP<='2010' GROUP BY CODCOLIGADA ORDER BY CODCOLIGADA

      Alguém pode me dar uma dica?
      Agradeço. :wink:

      #99153
      burga
      Participante

        Tente filtrar com a cláusula HAVING ao invés de usar WHERE:

        SELECT DISTINCT CODCOLIGADA, MAX(MESCOMP), MAX(ANOCOMP)
        FROM PFPERFF
        GROUP BY CODCOLIGADA
        HAVING MAX(ANOCOMP) <= '2010'
        ORDER BY CODCOLIGADA

        Abraços,

        #99155
        SamantaS
        Participante

          [quote=”burga”:18s9e5ki]Tente filtrar com a cláusula HAVING ao invés de usar WHERE:

          SELECT DISTINCT CODCOLIGADA, MAX(MESCOMP), MAX(ANOCOMP)
          FROM PFPERFF
          GROUP BY CODCOLIGADA
          HAVING MAX(ANOCOMP) <= '2010'
          ORDER BY CODCOLIGADA

          Abraços,[/quote]

          Muito obrigada!!!
          Deu super certo.
          Bjão

          #99165
          rman
          Participante

            [quote=”burga”:vwztj8wk]Tente filtrar com a cláusula HAVING ao invés de usar WHERE:

            SELECT DISTINCT CODCOLIGADA, MAX(MESCOMP), MAX(ANOCOMP)
            FROM PFPERFF
            GROUP BY CODCOLIGADA
            HAVING MAX(ANOCOMP) <= '2010'
            ORDER BY CODCOLIGADA

            Abraços,[/quote]

            Me desculpe a pergunta, mas nunca tinha visto o uso do DISTINCT junto com o GROUP BY… o DISTINCT nesse caso é necessario ?

            #99168
            burga
            Participante

              Me desculpe a pergunta, mas nunca tinha visto o uso do DISTINCT junto com o GROUP BY… o DISTINCT nesse caso é necessario ?

              Não precisa!!!
              Erro de Ctrl+C/Ctrl+V, nem prestei atenção que tinha o DISTINCT… 😆

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