Ir para conteúdo

Arquivado

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

Markleber

Novo em SQL... Contagem entre bancos com contagem de condições...

Recommended Posts

Pessoal,


Boa noite... Meu nome é MARCELO e estou conhecendo o SQL agora. Estou fazendo isso porque me disseram que utilizando o SQL seria melhor do que eu desenvolver um programa para contagem entre dois bancos de dados...


Por ser novo, não sei nada ainda, então, vou deixar aqui um pedido de ajuda, explicando o que preciso em script ou ainda quem sabe em store procedure.


Tenho a tabela A com 1.000 registros, tendo 17 campos INT, sendo preenchidos com dezenas. Preciso duplicar essa tabela A para a tabela B e incluir todos os mesmos registros da tabela A, depois, preciso que seja pego o primeiro registro da tabela A e que seja verificado na tabela B, a contagem de dezenas que atingirem exatamente 16 das 17 existentes do primeiro registro da tabela A e conte 1 para quando achar um registro de 16, e assim sucessivamente e até o final da tabela B. Quando chegar ao final da tabela B, se o contador for igual a 96, ele mantem o registro da tabela A que está sendo utilizado para ser verificado na tabela B, mas se ele for menor ou maior que 96, ele deleta da tabela A. Quando isso acabar, ele vai pro segundo registro da tabela A, varre novamente a tabela B da mesma forma e assim sucessivamente até chegar ao final da tabela A. Por fim, sobrarão apenas os registros da tabela A que tiverem 16 dezenas entre elas e que atingiram a contagem de 96.


Obrigado pela atenção de todos.


Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao menos para mim ficou confuso , pode fazer um exemplo com um universo menor ?

 

Qual seria a razão desta "volta" toda ?

 

Num Sql puro creio não ser possível uma Stored Procedure teria de ser escrita para isto a princípio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Pessoal,

Boa noite... Meu nome é MARCELO e estou conhecendo o SQL agora. Estou fazendo isso porque me disseram que utilizando o SQL seria melhor do que eu desenvolver um programa para contagem entre dois bancos de dados...

Por ser novo, não sei nada ainda, então, vou deixar aqui um pedido de ajuda, explicando o que preciso em script ou ainda quem sabe em store procedure.

Tenho a tabela A com 1.000 registros, tendo 17 campos INT, sendo preenchidos com dezenas. Preciso duplicar essa tabela A para a tabela B e incluir todos os mesmos registros da tabela A, depois, preciso que seja pego o primeiro registro da tabela A e que seja verificado na tabela B, a contagem de dezenas que atingirem exatamente 16 das 17 existentes do primeiro registro da tabela A e conte 1 para quando achar um registro de 16, e assim sucessivamente e até o final da tabela B. Quando chegar ao final da tabela B, se o contador for igual a 96, ele mantem o registro da tabela A que está sendo utilizado para ser verificado na tabela B, mas se ele for menor ou maior que 96, ele deleta da tabela A. Quando isso acabar, ele vai pro segundo registro da tabela A, varre novamente a tabela B da mesma forma e assim sucessivamente até chegar ao final da tabela A. Por fim, sobrarão apenas os registros da tabela A que tiverem 16 dezenas entre elas e que atingiram a contagem de 96.

Obrigado pela atenção de todos.

 

Por exemplo...

Tabela A com 17 campos INT, 4 registros como exemplo:

reg 1 - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

reg 2 - 1 2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18

reg 3 - 1 2 3 6 7 8 9 10 11 12 13 14 15 16 17 18 19

reg 4 - 1 2 3 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Essa tabela A será duplicada para conferência, ou se não for necessário, não precisa... não sei, pois trabalho com array em programa e a execução do mesmo, demorou mais de 5 horas devido a quantidade de registros...

o primeiro registro da tabela A, varre toda a tabela B que é duplicada em formato e registros, e conta 1 para o registro que existir 16 campos iguais entre os 17, indo até o final da tabela B, se a contagem do primeiro registro da tabela A na tabela B for igual a 96, ele mantem esse registro na tabela A, mas se a contagem for menor ou maior que 96, esse registro da tabela A é apagado. Pegamos o segundo registro da tabela A e fazemos a mesma coisa, contando os registros... Espero ter sido claro...

Obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Definitivamente teria ser uma Procedure , basicamente usando cursores e arrays , a síntaxe exata não sei.

 

Mas a pergunta que fica é qual o problema real , qual o motivo disto , o que originou esta modelagem ?

 

Uma definição correta do problema as vezes simplifica a solução.

 

Veja este vídeo ...

 

https://youtu.be/gYiK1Vkuslk

Compartilhar este post


Link para o post
Compartilhar em outros sites

Definitivamente teria ser uma Procedure , basicamente usando cursores e arrays , a síntaxe exata não sei.

 

Mas a pergunta que fica é qual o problema real , qual o motivo disto , o que originou esta modelagem ?

 

Uma definição correta do problema as vezes simplifica a solução.

 

Veja este vídeo ...

 

https://youtu.be/gYiK1Vkuslk

Desculpe MOTTA, mas confuso estou eu, pois não conheço SQL, estou tentando conhecer... o fato não é uma definição correta, não é o problema real, qual o motivo ou o que originou... Fiz uma pergunta, e expliquei o que preciso, se vc sabe como ajudar, bom, ótimo, se não sabe, desculpe, apesar de você ser moderador, não venha com vídeos que não tem nada a ver, postei a mesma pergunta e expliquei em demais sites, e apesar de não ter resposta ainda para o meu problema, estão tentando me ajudar com script's e procedure, mas ainda não houve solução...

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.