Usuário com melhor resposta
Duvidas Variaveis

Pergunta
-
Boas Pessoal do forum,
Alguem poderia me ajudar com o caso abaixo:
Eu tenho uma tabela com alguns campos inteiro, neles eu obtenho o total de alunos Ex: 761843 nesse total eu preciso calcular a porcentagem de alunos que sao brancos que é = 894, a conta ate que é simples 894/761843 * 100
agora o jeito que eu fiz foi assim: declarei uma variavel para obter total que seria os 761843
DECLARE @MEUTOTAL INT
SET @MEUTOTAL = (SELECT SUM(TOTAL_ALUNOS) FROM AL)DEPOIS ASSIM
SELECT DISTINCT 'BRANCOS' AS [ALUNOS],
SUM(ALUNOS)/ @SOMA * 100
FROM AL
WHERE COR = 'BRANCOS'O erro que ele me retorna seria esse:
Must declare the scalar variable "@MEUTOTAL"
Como nao tenho muita experiencia com variaveis estou pedindo uma ajuda aos senhores qualque informaçao que forem precisando eu vou explicando nao sei se ficou bem claro a minha duvida
abraços
- Editado Uelson.Jr quarta-feira, 16 de janeiro de 2013 16:07
Respostas
-
Uelson
Pelo seu script o erro deveria acontecer na variavel @soma que não foi declarada... teste este script
DECLARE @MEUTOTAL INT, @SOMA int SET @MEUTOTAL = (SELECT SUM(TOTAL_ALUNOS) FROM AL) SELECT DISTINCT 'BRANCOS' AS [ALUNOS], SUM(ALUNOS)/ @SOMA * 100 FROM AL WHERE COR = 'BRANCOS'
Att.
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS, MCITP, MCT.
Se útil, classifique!!!
Me siga no twitter: @marcelodba- Marcado como Resposta Uelson.Jr quarta-feira, 16 de janeiro de 2013 16:42
Todas as Respostas
-
Olá,
A segunda query não contém a variável @MEUTOTAL. Tens a certeza que é nessa segunda query que dá erro?
Entre os dois blocos de código não tens GO ?
Ao colocares GO entre blocos de código, as variáveis são limpas.
Pedro Martins
Portugal
https://www.linkedin.com/in/rechousa -
Uelson
Pelo seu script o erro deveria acontecer na variavel @soma que não foi declarada... teste este script
DECLARE @MEUTOTAL INT, @SOMA int SET @MEUTOTAL = (SELECT SUM(TOTAL_ALUNOS) FROM AL) SELECT DISTINCT 'BRANCOS' AS [ALUNOS], SUM(ALUNOS)/ @SOMA * 100 FROM AL WHERE COR = 'BRANCOS'
Att.
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS, MCITP, MCT.
Se útil, classifique!!!
Me siga no twitter: @marcelodba- Marcado como Resposta Uelson.Jr quarta-feira, 16 de janeiro de 2013 16:42
-
Olá Uelson,
Está mensagem de erro ocorre quando você utiliza uma variável que não tenha sida declarada antes.
Da maneira que você postal não há como dar erro. A única maneira seria se você tive selecionado para execução a partir a segunda linha (SET).
Esta mensagem deve aparecer para a variável @SOMA, por que a mesma não está declara.
Qualquer dúvida estou a disposição.
Keny Maciel da Silva
DBA SQL-Server ITGROUP
MCTS SQL Server 2008 Implementation and Maintenance
Email: kenymaciel@gmail.com -