Ir para conteúdo
Giuliano Santos

Maior valor com vários campos

Recommended Posts

Boa tarde,

Estou tentando fazer um SQL com Firebird que traga o maior valor de venda par um determinado cliente, mas junto também traga campos como a data dessa venda.

o SQL com comente o ID do cliente e o valor eu consigo colocar, mas quando adiciono o campo data ele me traz todas as datas de vendas.

Alguém poderia me ajudar com esse SQL por favor?

 

Segue SQL que eu fiz:

 

select  s.CLIENTE AS id_cliente,
		n.DATA,
		MAX(n.VALOR) AS maior_venda 
from produtos_eventos pe
inner join saidas s on s.saida = pe.cod_operacao and s.cancelada = 'F'
inner join eventos ev on ev.evento = s.evento and ev.tipo_evento = 'S' and ev.tipo_saida = 'V'
INNER JOIN nf n ON n.NOTA = pe.NOTA AND n.TIPO_OPERACAO = 'S'
LEFT JOIN CONDICOES_PGTO cp ON cp.CONDICOES_PGTO = s.CONDICOES_PGTO 
where pe.quantidade <> 0 and pe.tipo_operacao = 'S' AND s.CLIENTE = 1000395
GROUP BY 1,2

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por andreluis78
      Olá a todos.
      Criei um procedimento para verificar se um usuário está cadastrado no banco de dados.
      Utilizo Firebird como BD e componentes Zeos para acessar o banco.
      Resolvi criar uma query em tempo de execução para fazer a verificação. Não dá nenhum erro, porém, quando digito o nome do usuário no Edit e clico
      no botão que executa o procedimento, ele dá ''usuário inexistente'', mesmo se o nome do usuário estiver cadastrado no banco.
       
      Segue o código:
       
      procedure Tfrm_login.SpeedButton1Click(Sender: TObject); var Qry : TZQuery; begin   Qry:=TZQuery.Create(nil);   Qry.Connection := dm_dados.ZConnection1;  //componente de conexão   Qry.SQL.Add('select codigo, nome, acessar, user, pass from clientes');   Qry.Open;   if Qry.Locate('USER',Edit1.Text,[]) then   begin     ShowMessage('usuário cadastrado');   end   else   begin     ShowMessage('usuário inexistente');     Edit1.SetFocus;   end;   FreeAndNil(Qry); end;  
      Se alguém puder ajudar agradeço desde já.
      Obrigado
    • Por manefilho
      No DataModule tenho um SQLDataSet, DataSetProvider, DataSet, quando abro o banco de dados e tento abrir a tabela TBLUSUARIOS em tempo de desenvolvimento no SQLDataSet, dá um erro: "Unknown ISC Error 0" e quando tento novamente "Attempet to reopen an open cursor". Quando digito a Query SQL no CommandText do SQLDataSet e mudo a propriedade Active para True ele retorna este erro. Ele consegue abrir qualquer uma das outras tabelas do banco de dados, menos a tabela em questão.
       
      Estava abrindo perfeitamente com o SimpleDataSet mas apaguei para usar o SQLDataSet e obtive este erro. O engraçado que tentei retornar para SimpleDataSet mas também não funciona mais, alguém pode me ajudar?
    • Por AlexandrePrezzi
      Boa tarde...
       
      Alguém por acaso ja enfrentou problemas com lentidão do update ... usando Firebird no PHP ...
       
      Por exemplo se eu for atualizar 2 itens (registros) (vindos de uma consulta) faz rápido ... 0.237 ms

      Mas se eu pegar por exemplo  50 itens (registros) ... o tempo total vai pra quase 1 minuto .... 
       
      Obs.:  é um update relativamente simples .. ele atualiza apenas 1 (um) campo de cada registro....
       
      Caso alguém tenha passado por algo parecido ou tenha alguma ideia e puder me ajudar agradeço...
    • Por Amanda Venturini
      Ja habilitei a extençao no XAMPP,  e ja tentei no Wampserver tambem
      Aqui esta o codigo
      <?php 
      $servidor = '127.0.0.1/3050:C:/TUTORIAL.FDB';
      //conexão com o banco, se der erro mostrara uma mensagem.
      if (!($dbh=ibase_connect($servidor, 'SYSDBA', 'masterkey')))
              die('Erro ao conectar: ' .  ibase_errmsg());
      //Fazer uma consulta no banco.
      //Instruções SQL
      $sql = 'SELECT * FROM fornecedores';
      //Executa a instrução SQL
      $re= ibase_query($dbh, $sql);
      $num= ibase_affected_rows($re);
      //gera um loop com as linhas encontradas    
            if($num > 0){
              while($linha = ibase_fetch_object($re)){
                echo "
                <p>{$linha->COD_FORNEC}</p>
                      <p>{$linha->NOME_FORNEC}</p>
                          <p>{$linha->EMAIL}</p>";
              } 
            }else{
              echo "Nenhum foodtruck encontrado";
            }
      // //Libera a memoria usada
      ibase_free_result($query);
      // //fecha conexão com o firebird
      ibase_close($dbh);
      ?>
    • Por device
      Fiz varias aplicações no win XP + Delphi7+Firebird+IBExpress.
      Agora, com micro de 64 bits, tive que colocar tudo em máquina virtual por problemas de compatibilidade.
      Ok... Faço o banco de dados com senha SYSDBA e password: masterkey (default)
      No Delphi 7, componentes IBdatabase e IBtransation, nos campos Param/strings  coloco o user_name e password, como sempre fiz. e sempre funcionou
      PROBLEMA. Se vou carregar a aplkicação, fica pedindo senha
                             Se vou compilar (F9) pede a senha de novo
      Como resolvo isso???    Não sei o que está ocorrendo aqui
      Agradeço a ajuda
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.