Ir ao conteúdo

Posts recomendados

Postado

Seguinte, eu qro da um update numa tabela no qual existe uma coluna que eu qro migrar a soma de dados de outra tabela para ela, não sei por onde começar.

 

pessoas

id | nome | pontos

 

pontuacao

id | nome | pontos

 

quero somar os valores da coluna pontos da tabela pontucao e migrar para a coluna pontos da tabela pessoas

  • Moderador
Postado

@Joab Martins

Olá, seja bem vindo em nosso Clube do Hardware.

 

Creio que falta a lógica de modelagem do banco de dados.

Pelas regras de normalização, não é boa ideia e nem boas práticas repetir dados. Pois vai gerar inconsistências.

 

O melhor que você tem a fazer é primeiro retirar o campo pontos da tabela  pessoas. Então criar uma nova tabela que será um N:N  entre a tabela pessoas e pontuacao.

 

Exemplo:

pessoas

id  nome 
1   fulano
2   beltrano

 

pontuacao

id  id_usuario  pontuacao
1      1         10
2      1         5
3      2         0
4      2         8

 

soma_de_pontuacoes

id id_usuario  soma
1      1       15
2      2       8 

 

A tabela de pontuações será responsável por armazenar o ID do usuário(chave estrangeira) e a pontuação. Toda vez que houver uma mudança de valor como pode ver no exemplo, o usuário 1 começou com 10,  depois ganhou mais 5 pontos., já o usuário 2 começou com zero e depois ganhou 8.

 

Para fazer a soma, você vai pegar esse valores( obviamente por usuário, ou seja, isso vai ser feito enquanto o usuário estiver logado no sistema)  vai fazer um update set na tabela soma_de_pontuacoes.

 

Como é por usuário, então na instrução do update com o sum(), você vai por a clausula "where id_usuario" de acordo com o id do usuário logado.

 

Basicamente é isso.

Postado

Realmente faz sentido sua resolução, mais outro problema que eu tenho, a pessoa não vai só ganhar pontos, tbem irão perder, por isso pensei em ter os valores somados e quando for o momento de perder a pontuação, eu só editava o valor somado com a pontuação a menos.

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!