mbarra14 Posted December 8, 2011 Report Share Posted December 8, 2011 Pessoal, tenho o seguinte problema.tenho as seguintes tabelas:DDD (DDD_ID, DDD) OFERTA(OFERTA_ID, DESCRICAO) DDD_OFERTA (DDD_ID, OFERTA_ID) CLIENTE(CLIENTE_ID, NOME) COMPRA(COMPRA_ID, CLIENTE_ID, OFERTA_ID, VALOR) BONUS(BONUS_ID, COMPRA_ID, CLIENTE_ID) Eu preciso fazer uma query para obter o numero de clientes que fizeram 3 compras, 2 compras, 1 compra respectivamente agrupados por DDD, ou seja, deveria ficar mais ou menos assim: DDD COMPRA_3 COMPRA_2 COMPRA_1 11 500 1000 2000 21 300 600 1200 31 200 400 800Por onde eu posso começar? Quote Link to comment Share on other sites More sharing options...
0 isaikki Posted December 8, 2011 Report Share Posted December 8, 2011 Você pode criar um agrupamento com a soma das comprasPor exemplo:select cliente_id, sum(valor) as valor from compra group by cliente_id order by valorO mecanismo é simples mesmo, agora é só você incluir as outras tabelas e puxar os dados que você quer, entendeu?qualquer coisa é só falar Quote Link to comment Share on other sites More sharing options...
0 mbarra14 Posted December 8, 2011 Author Report Share Posted December 8, 2011 Olá, obrigado pela resposta.Mas eu acho que não é isso. No caso não seria para somar os valores de compras, e sim para saber o número de clientes que compraram 3 vezes, 2 vezes e 1 vez respectivamente e agrupados por DDD, no caso seria: "Quantas pessoas com DDD 11 (SP) compraram 3 vezes, 2 vezes e 1 vez respectivamente." Quote Link to comment Share on other sites More sharing options...
0 Vinicius Schuh Posted December 9, 2011 Report Share Posted December 9, 2011 (edited) Bom dia mbarra14, você poderia usar o comando COUNT, ele ira contar quantos registros existem para uma determinada situação.Como você precisa saber quantas compras existiram para um determinado cliente, voce poderia realizar uma verificação com o comando CASE.Ex:SELECT . . . Total_Compras = Case When (compra.compra_id) THEN COUNT(cliente_id) End . . .Dessa forma, vai contar quantas compras o cliente em questão teve. Lembrando que é apenas uma idéia, você teria que realizar toda a estrutura do SELECT com seus respectivos campos, e ligações entre as tabelas.Espero ter ajudado, qualquer coisa posta. Aquele Abraço Edited December 9, 2011 by Vinicius Schuh Quote Link to comment Share on other sites More sharing options...
Question
mbarra14
Pessoal, tenho o seguinte problema.
tenho as seguintes tabelas:
Eu preciso fazer uma query para obter o numero de clientes que fizeram 3 compras, 2 compras, 1 compra respectivamente agrupados por DDD, ou seja, deveria ficar mais ou menos assim:Por onde eu posso começar?
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.