mbarra14 Postado Dezembro 8, 2011 Denunciar Share Postado Dezembro 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 isaikki Postado Dezembro 8, 2011 Denunciar Share Postado Dezembro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mbarra14 Postado Dezembro 8, 2011 Autor Denunciar Share Postado Dezembro 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." Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vinicius Schuh Postado Dezembro 9, 2011 Denunciar Share Postado Dezembro 9, 2011 (editado) 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 Editado Dezembro 9, 2011 por Vinicius Schuh Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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 para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.