Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

11closed

relacionamento entre 2 tabelas

Recommended Posts

olá, estou com dificuldades para criar esse script... vou explicar

 

tabela3 - ID é a identificação do cliente e ID_INDICACAO é a indetificação de quem cadastrou tal cliente

ID | ID_INDICACAO

 

tabela7 Essa tabela mostra os cliente que estão registrado em um recurso do site, ID_POSICAO é a identificação do posicionamento do recurso, ID_CLIENTE é a identificação do cliente registrado no recurso, STATUS, mostra se a posição esta ativa ou não e DATA_CADASTRO é a data que foi ativo.

ID_POSICAO | ID_CLIENTE | STATUS | DATA_CADASTRO

 

o que estou tentando é buscar os clientes que indicou outros clientes a se ativar no recurso, por ordem de qual cliente que mais indicou pessoas para esse recurso nesse mês

 

Exemplo, selecionar na tabela7 as posição com status ATIVO e com a data de cadastro desse mes e esse ano, e detectar por ordem de qual cliente que mais ativou clientes esse mês..

 

ID | ID_INDICACAO

1 | 0

2 | 1

3 | 1

4 | 2

5 | 3

 

ID_POSICAO | ID_CLIENTE | STATUS | DATA_CADASTRO

1 | 1 | ATIVO | 2014-12-12

2 | 2 | ATIVO | 2015-03-15

3 | 3 | ATIVO | 2015-03-12

4 | 5 | ATIVO | 2015-03-11

 

5 | 10 | DESATIVADO | 0000-00-00

 

o resultado seria buscar por ordem de quem mais indicou, no caso os 3 clientes que se ativarão esse mes foram os de ID 2, 3 e 5 e quem indicou o ID 2 e 3 foi o ID 1 e quem indicou o ID 5 foi o ID 3, por tanto a ordem no loop seria ID 1 e depois o 3, deu para entender ?

 

estou com dificuldades para interligar essas tabelas e fazer com que me retorne por essa ordem, alguem pode me mostrar como seria o codigo da busca SELECT

Compartilhar este post


Link para o post
Compartilhar em outros sites

dê uma estudada em sql pelas cláusulas WHERE e ORDER BY DESC. com a primeira você especifica os filtros e com a segunda você ordena de forma decrescente.

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT tabela7.id_cliente as cliente,
       count(tabela3.id_indicacao) as qtd_indicados
       FROM tabela7
       JOIN tabela3 ON tabela7.id_cliente = tabela3.id_indicacao
       WHERE
       tabela7.ativo = 1
       -- Outros filtros quaisquer, como data etc, etc
       GROUP BY cliente, qtd_indicados
       ORDER BY count(tabela3.id_indicacao) DESC      

Isso é só uma ideia, para ter precisão seria necessário saber exatamente a estrutura das tabelas e quais os filtros você estaria usando neste relatório.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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