Ir ao conteúdo
  • Cadastre-se

MySQL update com select e sum


Posts recomendados

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

Link para o comentário
Compartilhar em outros sites

  • Moderador

@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.

Link para o comentário
Compartilhar em outros sites

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...