none
UPDATE em SQL RRS feed

  • Pergunta

  • X

    Boa noite galera, sou novo na área do SQL e estou com o seguinte problema:

    Código: 

    --------------------------------------------------------------------------

    UPDATE professores
    SET prof_salario = prof_salario * 2
    WHERE prof_salario = (SELECT MIN(prof_salario)); 

    --------------------------------------------------------------------------

    Eu gostaria de alterar o salário do professor que ganha menos, porém este código está alterando todos os salários.

    Se alguém puder ajudar, agradeço desde já.

    Abraços.


    sexta-feira, 15 de maio de 2015 04:24

Respostas

Todas as Respostas

  • Deleted
    • Sugerido como Resposta Mr. GMSOFT sexta-feira, 15 de maio de 2015 12:48
    • Marcado como Resposta War In My Head sexta-feira, 15 de maio de 2015 15:14
    sexta-feira, 15 de maio de 2015 10:04
  • Você esta fazendo uma referencia ao mesmo resultset na clausula where.

    Assim pegara o salario MIN de cada registro...

    Você tem que forçar a verificação em outro resultset,,,, Exemplo:

    UPDATE professores
    SET prof_salario = prof_salario * 2
    WHERE prof_salario = (SELECT MIN(prof_salario) from professores); 

    A subquery dentro dos parênteses fara uma pesquisa na tabela e trará o menor valor da tabela para a coluna.

    A sugestão do Jose Diaz também funciona muito bem.

    • Sugerido como Resposta Mr. GMSOFT sexta-feira, 15 de maio de 2015 12:48
    sexta-feira, 15 de maio de 2015 12:39
  • Obrigado José, funcionou muito bem.
    sexta-feira, 15 de maio de 2015 14:11
  • Marca a resposta para finalizar a Thread :)

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    sexta-feira, 15 de maio de 2015 14:25