Dúvida de como criar uma consulta SQL

20/09/2018

0

Pessoal estou precisando de ajuda para criar uma consulta sql.

Já tenho todos os concursos realizados da lotofácil em uma tabela como também tenho todas as combinações possíveis da lotofácil em outra tabela.

Tabela "concursosrealizados" - Concursos já realizados da lotofácil (até o momento foram 1.713)
|concurso|data      |b1|b2|b3|b4|b5|b6|b7|b8|b9|b10|b11|b12|b13|b14|b15|
|       1|29/09/2003|18|20|25|23|10|11|24|14|06|02 |13 |09 |05 |16 |03 |
|       2|06/10/2003|23|15|05|04|12|16|20|06|11|19 |24 |01 |09 |13 |07 |
...

Tabela "jogospossiveis" - Todos os jogos possíveis da lotofácil são 3.268.760
|jogo|b1|b2|b3|b4|b5|b6|b7|b8|b9|b10|b11|b12|b13|b14|b15|
|   1|01|02|03|04|05|06|07|08|09|10 |11 |12 |13 |14 |15 |
|   2|01|02|03|04|05|06|07|08|09|10 |11 |12 |13 |14 |16 |
|   3|01|02|03|04|05|06|07|08|09|10 |11 |12 |13 |14 |17 |
...

Desejo criar uma consulta sql que pegue o jogo 1 da tabela "jogospossiveis" e compare com todos os jogos da tabela "concursosrealizados" e assim sucessivamente e depois apresente o resultado abaixo:
|jogo|11pontos|12pontos|13pontos|14pontos|15pontos|
|   1|140     |29      |3       |0       |0       |
...

Não tenho a mínima ideia de como criar esta consulta sql.

Obrigado.
Ranyeryfip

Ranyeryfip

Responder

Post mais votado

21/09/2018

Ola Ranyeryfip, Boa tarde!!!

Cara, honestamente não entendi muito bem.

Imagino que vc terá que montar um plano cartesiano, devera demorar uma enormidade para executar.

Mas vamos ir conversando e vendo se conseguimos chegar em algum consenso.

Essas colunas pontos que vc esta apresentando no resultado, seria o que especificamente(não entendo absolutamente nada de jogos de loteria. rsrsr)?

Atenciosamente,

Alex Lekao

Alex Lekao
Responder

Mais Posts

21/09/2018

Ranyeryfip

Boa noite, Alex.

Agradeço por sua atenção.

Explicando:

A lotofácil possui premiações de 11 pontos, 12 pontos, 13 pontos, 14 pontos e 15 pontos.
Até hoje já foram realizados 1.713 concursos da lotofácil.
Na lotofácil existem 3.268.760 de possibilidades de jogo.

O que eu quero fazer?

Quero pegar cada possibilidade de jogo (3.268.760) e verificar em todos os 1.713 concursos já realizados. Ao realizar essa verificação quero saber quantas vezes fez cada jogo fez 11 pontos, 12 pontos, 13 pontos, 14 pontos e 15 pontos.

Eu já montei um algorítimo de conferencia utilizando "while" e "for" e funciona legal, mas para conseguir catalogar todas as informações que preciso vai durar uma eternidade, deixei rodando por 12 horas e só consegui fazer 8000 (oito mil) conferencias e preciso fazer exatamente 3.268.760, ou seja, mais de 3 milhões de conferencias, hehehehehe. Por isso pensei na possibilidade de realizar uma consulta SQL, mas nunca fiz uma consulta muito complexa e estou um tanto que perdido para montar essa consulta, no caso acredito que a consulta SQL vai conseguir otimizar e muito o tempo de conferencias.

Obrigado.




Responder

24/09/2018

Alex Lekao

Oi Ranyeryfip, bom dia!!

Como é encontrada a pontuação?

Particularmente não estou conseguindo entender também como montar esse script. rsrsr

Cada numero sorteado aparece em uma coluna, é isso?

A pontuação é de acordo com a quantidade de acertos, correto?

Atenciosamente,
Responder

24/09/2018

Emerson Nascimento

Algumas informações são importantes, dependendo da dúvida apresentada:
- Linguagem e versão
- banco de dados e versão
- trecho do código fonte relacionado ao problema
- estrutura das tabelas envolvidas
- parte do dados das tabelas envolvidas, etc.

Para o teu caso, seria importante nos dizer qual o banco de dados utilizado e também publicar o trecho de código referente ao cálculo porque, se não está atendendo, pode evitar que alguém proponha algo semelhante à toa. Se você puder, seria importante também disponibilizar as duas tabelas, assim quem for te ajudar pode ter a noção exata do tempo, podendo testar várias propostas de solução do problema.

Observo que, apenas relacionando jogos possíveis x concursos realizados, teremos mais de 5,5 bilhões de registros a serem avaliados, sem contar a análise do conteúdo dos campos b1..b15, logo, não espere algo muito rápido.
Responder

24/09/2018

Vivaldo Mendes

Não entendi muito bem como você deseja fazer a comparação, mas de qualquer forma eu sugeria que criasses apenas uma tabela,
onde iras armazenar os concursos e os jogos visto que os campos são quase os mesmos, e após isso inserir um novo atributo que diferenciasse um jogo de um concurso, com base nisso pra fazer a tua consulta um count deve ser suficiente...
Responder

24/09/2018

Ranyeryfip

Um amigo em outro fórum me ajudou...

Mas como Emerson mesmo já informou a consulta ficou muitoooooo lenta, isso devido a grande quantidade de informações a serem processadas.

Por enquanto desisti do projeto.

Muito obrigado pessoal!
Responder

24/09/2018

Emerson Nascimento

Te perguntei qual o banco de dados porque pode ser feito com stored procedure. Se ainda quiser tentar...
Responder

25/09/2018

Ranyeryfip

Emerson agradeço muito mas desisti do projeto (era para uso pessoal).

Muito obrigado.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar