CONSULTA SQL NUMERO DE OCORRENCIAS
Será que alguem consegue resolver essa questao? é o seguinte, preciso construir uma consulta aonde, para exemplificar, preciso saber quantas vezes cada cliente pediu pizza.
Por exemplo , na tabela eu registrei que no dia 10 ele pediu 1 pizza de muzzarela e 2 pizzas de calabreza e no dia 12 pediu 1 pizza de atum. Quero saber quantas vezes cada cliente pediu pizza, 2 vezes, correto? mas como fica isso na consulta.
idcliente data qtd pizza
1222 10/05/2005 1 muzzarela
1222 10/05/2005 2 calabreza
.
. pedidos de outros clientes
.
1222 12/05/2005 1 atum
resultado
idcliente vezes
1222 2
1223 5
. . . etc
[txt-color=#008000]TÃtulo Original ("Preciso de Ajuda, Consulta SQL") alterado por KPellaJr [/txt-color]
Por exemplo , na tabela eu registrei que no dia 10 ele pediu 1 pizza de muzzarela e 2 pizzas de calabreza e no dia 12 pediu 1 pizza de atum. Quero saber quantas vezes cada cliente pediu pizza, 2 vezes, correto? mas como fica isso na consulta.
idcliente data qtd pizza
1222 10/05/2005 1 muzzarela
1222 10/05/2005 2 calabreza
.
. pedidos de outros clientes
.
1222 12/05/2005 1 atum
resultado
idcliente vezes
1222 2
1223 5
. . . etc
[txt-color=#008000]TÃtulo Original ("Preciso de Ajuda, Consulta SQL") alterado por KPellaJr [/txt-color]
olá...
pode fazer assim:
SELECT IdCliente, Count(IdCliente) FROM TabelaPedidos GROUP BY IdCliente
pode fazer assim:
SELECT IdCliente, Count(IdCliente) FROM TabelaPedidos GROUP BY IdCliente
Assim retornaria 3, Jean.
Meus programas de automação funcionam assim: tenho o cadastro de vendas e o histórico de produtos que o cliente comprou.
No cadastro de vendas, ou pedidos no seu caso, podemos colocar a data, codigo do cliente e o valor do pedido.
No histórico de produtos colocamos quais os produtos que o cliente já pediu, que vc já tem pronto, e é o seu cadastro de pedidos atual.
No cadastro de vendas seria assim:
idcliente Data Valor
1222 10/05/2005 14,80
......
1222 12/05/2005 7,90
Aà é só colocar o select mostrado pelo Jean no cadastro de vendas
SELECT IdCliente, Count(IdCliente) as Contador FROM TabelaVendas GROUP BY IdCliente
Msgbox "O cliente fez " & rs!Contador & " pedidos."
Meus programas de automação funcionam assim: tenho o cadastro de vendas e o histórico de produtos que o cliente comprou.
No cadastro de vendas, ou pedidos no seu caso, podemos colocar a data, codigo do cliente e o valor do pedido.
No histórico de produtos colocamos quais os produtos que o cliente já pediu, que vc já tem pronto, e é o seu cadastro de pedidos atual.
No cadastro de vendas seria assim:
idcliente Data Valor
1222 10/05/2005 14,80
......
1222 12/05/2005 7,90
Aà é só colocar o select mostrado pelo Jean no cadastro de vendas
SELECT IdCliente, Count(IdCliente) as Contador FROM TabelaVendas GROUP BY IdCliente
Msgbox "O cliente fez " & rs!Contador & " pedidos."
Fiz essa query num sistema meu, e tentei adaptar para o que vc está precisando:
Essa query retornaria todos os clientes com mais de dois pedidos. Você pode colocar o campo da data no GROUP BY para poder ordenar por datas, ok?
SELECT C.COD_CLIENTE, P.COD_CLIENTE, COUNT(ACS.COD_CLIENTE) FROM CLIENTES C, PEDIDOS P WHERE C.COD_ALUNO = P.COD_ALUNO GROUP BY A.COD_ALUNO, A.NOME_ALUNO HAVING COUNT(P.COD_CLIENTE) >= 2Essa query retornaria todos os clientes com mais de dois pedidos. Você pode colocar o campo da data no GROUP BY para poder ordenar por datas, ok?
putz... é verdade...
vou dar uma olhada novamente...
vou dar uma olhada novamente...
demorou, mas saiu:
select idcliente, count(data) as qtde
from
(select distinct idcliente, data
from tabela1)
group by idcliente
select idcliente, count(data) as qtde
from
(select distinct idcliente, data
from tabela1)
group by idcliente
Pepe Legal
Bom Dia
Lendo a tua dúvida eu é que fiquei na dúvida, pelo que eu entendi são só 2 Tabelas, Clientes e Pedidos, ou seja, neste caso não existe o Detalhes do Pedido, certo?
Pergunto isto, porque cada Pizza, geralmente, seria um membro da Tabela Detalhes do Pedido, logo se um Pedido contivesse 1 Pizza Atum e 2 Mussarela seria só 1 ocorrência, mas se foram em Pedidos diferentes, já seriam 2 ocorrências.
Até Breve
[s50]
Bom Dia
Lendo a tua dúvida eu é que fiquei na dúvida, pelo que eu entendi são só 2 Tabelas, Clientes e Pedidos, ou seja, neste caso não existe o Detalhes do Pedido, certo?
Pergunto isto, porque cada Pizza, geralmente, seria um membro da Tabela Detalhes do Pedido, logo se um Pedido contivesse 1 Pizza Atum e 2 Mussarela seria só 1 ocorrência, mas se foram em Pedidos diferentes, já seriam 2 ocorrências.
Até Breve
[s50]
bem... teria que considerar isso tbm...
eh eh eh
eh eh eh
Muito bom, resolvi o problema o resultado foi:
select idcliente, count(nvenda) as qtde from
(select distinct idcliente,nvenda
from tbvenda )
group by idcliente
na solucao do amigo Jean contou a data porem o mesmo cliente poderia fazer 2 pedidos no mesmo dia, assim adicionei mais uma variavel que seria o numero do pedido que é unico por pedido apesar do numero de pizzas. E dessa forma deu certo , muito obrigado aos amigos que colaboraram.
select idcliente, count(nvenda) as qtde from
(select distinct idcliente,nvenda
from tbvenda )
group by idcliente
na solucao do amigo Jean contou a data porem o mesmo cliente poderia fazer 2 pedidos no mesmo dia, assim adicionei mais uma variavel que seria o numero do pedido que é unico por pedido apesar do numero de pizzas. E dessa forma deu certo , muito obrigado aos amigos que colaboraram.
Tópico encerrado , respostas não são mais permitidas