Ir para conteúdo
Fórum Script Brasil
  • 0

Instrucao Sql ...não Consigo Fazer Funcionar


Halfar

Pergunta

Não estou conseguindo montar uma instrucao sql.

É o seguinte.

Tenho duas tabelas.

Tabela Comissionados com os campos:

CodigoUsuario Data IP

036h7171 2006-05-02 66.249.66.137

036h7171 2006-05-03 66.666.12.122

Tabela Pagamentos com os campos:

CodigoUsuario Data

036h7171 2006-07-26

036h7171 2006-05-12

036h7172 2006-04-26

Tem que existir um relacionamento entre as tabelas. Já tentei inner join e outras coisas mas o resultado da sql não sai corretamente.

O resultado tem que ser o seguinte:

Tem que printar a tabela Comissionados, como tem dois codigos de usuarios iguais, então os dois registros serão printados. Depois tem que pegar os registros da tabela Pagamentos, cujos CodigoUsuario sejam iguais da tabela Comissionados e a data constante na tabela Pagamentos seja do mesmo mês da tabela Comissionados (no caso é o mês 5), e depois pegar o registro da tabela Pagamentos de mês igual ao da tabela Comissionados (no caso temos o dia 12 do mês 5).

A ideia disto é que na tabela comissionados estão registrados os cliques que ocorreram e o dono do site ganha por clique gerado em seu site. Então nesta tabela comissionados ficam registrados os cliques ocorridos de cada site que é identificado pelo CodigoUsuario.

Depois a tabela pagamentos armazena os valores que já foram pagos ao dono do site. então note que existem dois cliques na tabela comissionados nos dias 02 e 03 do mês cinco. Na tabela de pagamentos, no dia 12-05 foi efetuado um pagamento ao dono do site. então o relatorio irá printar os dois registros dos cliques ocorridos e na linha de baixo ira printar o valor que foi pago no dia 12-05.

Ai suponhamos que entre os dias 13-05 e 25-05 foram gerados mais alguns cliques. E no dia 26 foi efetuado mais um pagamento. então tem que printar os registros entre os dias 13 e 25 e depois printar na linha de baixo o valor que foi pago no dia 26.

Entenderam? É um relatorio dinâmico, conforme os cliques vao ocorrendo, e vai se efetuando o pagamento ao dono do site, o relatório tem que gerar estas informações.

Já rachei a cuca para fazer funcionar, mas não consegui...

Será que alguém ai pode ajudar, dar alguma luz no caso..

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Estou supondo que seja mysql. Eu fiz usando UNION:

mysql> select * from comissionados;
+---------------+------------+---------------+
| codigoUsuario | data       | IP            |
+---------------+------------+---------------+
| 036h7171      | 2006-05-02 | 66.249.66.137 |
| 036h7171      | 2006-05-03 | 66.666.12.122 |
+---------------+------------+---------------+
2 rows in set (0.00 sec)

mysql> select * from pagamentos;
+---------------+------------+
| codigoUsuario | data       |
+---------------+------------+
| 036h7171      | 2006-07-26 |
| 036h7171      | 2006-05-12 |
| 036h7172      | 2006-04-26 |
+---------------+------------+
3 rows in set (0.00 sec)

mysql> (select codigoUsuario, data, IP from comissionados) union (select codigoUsuario, data, 'pagamento' as IP from pagamentos) order by data, codigoUsuario, IP;
+---------------+------------+---------------+
| codigoUsuario | data       | IP            |
+---------------+------------+---------------+
| 036h7172      | 2006-04-26 | pagamento     |
| 036h7171      | 2006-05-02 | 66.249.66.137 |
| 036h7171      | 2006-05-03 | 66.666.12.122 |
| 036h7171      | 2006-05-12 | pagamento     |
| 036h7171      | 2006-07-26 | pagamento     |
+---------------+------------+---------------+
5 rows in set (0.00 sec)

PS.: Este tópico deveria estar em mysql e não em PHP

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...