GARANTIR DESCONTO

Fórum Consulta SQL ( count ) #131135

26/03/2010

0

Bom Dia     Não sou muito bom em SQL, estou precisando fazer uma consulta que me retornasse o total de pedidos em aberto de um cliente e mostrar num label.   estou usando Firebird - conexão com Zeos     Ex. ( cliente)  xxx  total de 13 pedidos Aberto   tabela cliente   Cod Cliente Status   // aberto - fechado - cancelado Data Tel email     obs . se alguem souber de um bom material SQL pode ser apostila ou livro ficaria muito grato            
Frost

Frost

Responder

Posts

26/03/2010

Fábio Cruz

Bom dia
Tente algo assim:
Select Codigo, Max(Nome), count(Abertos) from PedidosAbertos
where Codigo = :Codigo
Group By Codigo

Responder

Gostei + 0

26/03/2010

Wilson Junior

SELECT
  Cliente,
  Email,
  COUNT(*) AS Qtde
FROM
  CLIENTE
WHERE
  Status = 'aberto'
GROUPY BY
  Cliente,
  Email


Espero ter colaborado.
Responder

Gostei + 0

26/03/2010

Emerson Nascimento

ou ainda:

Select
  P.CodCliente,
  C.Nome,
  sum(case when P.Status='Aberto' then 1 else 0 end) Abertos,
  sum(case when P.Status='Fechado' then 1 else 0 end) Fechados,
  sum(case when P.Status='Cancelado' then 1 else 0 end) Cancelados
from Clientes C
left join Pedidos P on P.CodCliente = C.Codigo
[where C.Codigo = :Codigo]
Group By P.CodCliente, C.Nome

Responder

Gostei + 0

26/03/2010

Frost

Boa Tarde   Obrigado ao pessoal que mandou as dicas que me foi de muita valia   Wilson   Quanto sua dica fiz o teste  dentro do banco e rodou  blz e mostrou o que eu queira, agora queira saber como faço no delphi para mostrar o resultado no label,  agora fiquei meio no escuro        
Responder

Gostei + 0

26/03/2010

Wilson Junior

  Query1.Close;
  Query1.SQL.Text :=
    ' SELECT' +
    '   Cliente,' +
    '   Email,' +
    '   COUNT(*) AS Qtde' +
    ' FROM' +
    '   CLIENTE' +
    ' WHERE' +
    '   Status = ' + QuotedStr( 'aberto' ) +
    ' GROUPY BY' +
    '   Cliente,' +
    '   Email';
  Query1.Open;

  Label1.Caption := IntToStr( Query1.FieldByName('Qtde').AsInteger );


É um exemplo bem simples, mas acho que já lhe ajuda. Qualquer coisa post aí.

Espero ter colaborado.
Responder

Gostei + 0

26/03/2010

Frost

Boa Tarde Wilson   Funcionou redondinho.   vlw Obrigado     
Responder

Gostei + 0

26/03/2010

Wilson Junior

De nada.
Precisar é só postar, sempre estamos dispostos a ajudar a todos colegas.
Responder

Gostei + 0

21/01/2012

Andre Murilo

Tenho um problema parecido

tenho uma tabela de vendas com ranking de vendas...
preciso fazer uma consulta (com edit) por vendedor que conte quantas vezes esse vendedor ficou em certa posição ex.:
nome posicao qtdade
andre 1 1
andre 2 4
andre 5 1
sandro 1 2 etc...
fiz o seguinte:
componentes:
edit
dbgrid

qryPosicao.Close;
qryPosicao.SQL.Text := select * from classificacao where nome= :nome;
qryPosicao.Parameters.ParamByName(nome).Value := edt1.Text;
qryPosicao.Open;

e na string da qry fiz..select nome,posicao, count(posicao) from vendas group by nome,posicao prder by nome

mas quando executo dáo seguinte erro...qryposicao field count ot found...
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar