CONVERTER LETRAS EM NÚMERO
21/11/2013
0
SELECT MATDISCIPLINA.ANO_LETIVO, Left(MATDISCIPLINA.TURMAID,2) AS Fluxo, MATDISCIPLINA.TURMAID, MATDISCIPLINA.ESCOLA, Mid(MATDISCIPLINA.TURMAID,3,1) AS Turno, Mid(MATDISCIPLINA.TURMAID,5,1) AS Serie, Mid(MATDISCIPLINA.TURMAID,6,1) AS Turma, MATDISCIPLINA.DISCIPLINA, ALUNO.ALUNO, ALUNO.NOME_COMPL, TURMA.NUM_ALUNOS, MATTURMA.SITUACAO, First(NZ([CONCEITOFINAL_AJUST],0)) AS CONCEITOFINAL_AJUSTA
FROM TURMA INNER JOIN (ALUNO INNER JOIN (MATTURMA INNER JOIN MATDISCIPLINA ON (MATTURMA.TURMAID=MATDISCIPLINA.TURMAID) AND (MATTURMA.SEMESTRE_TURMA=MATDISCIPLINA.SEMESTRE_TURMA) AND (MATTURMA.ANO_LETIVO=MATDISCIPLINA.ANO_LETIVO) AND (MATTURMA.ESCOLA=MATDISCIPLINA.ESCOLA) AND (MATTURMA.ALUNO=MATDISCIPLINA.ALUNO)) ON ALUNO.ALUNO=MATTURMA.ALUNO) ON (TURMA.ESCOLA=MATTURMA.ESCOLA) AND (TURMA.ANO_LETIVO=MATTURMA.ANO_LETIVO) AND (TURMA.SEMESTRE_TURMA=MATTURMA.SEMESTRE_TURMA) AND (TURMA.TURMAID=MATTURMA.TURMAID)
GROUP BY MATDISCIPLINA.ANO_LETIVO, Left(MATDISCIPLINA.TURMAID,2), MATDISCIPLINA.TURMAID, MATDISCIPLINA.ESCOLA, Mid(MATDISCIPLINA.TURMAID,3,1), Mid(MATDISCIPLINA.TURMAID,5,1), Mid(MATDISCIPLINA.TURMAID,6,1), MATDISCIPLINA.DISCIPLINA, ALUNO.ALUNO, ALUNO.NOME_COMPL, TURMA.NUM_ALUNOS, MATTURMA.SITUACAO
HAVING (((MATDISCIPLINA.ANO_LETIVO) Like [Ano Letivo:]) AND ((MATTURMA.SITUACAO)="Aprovado" Or (MATTURMA.SITUACAO)="Reprovado"))
ORDER BY Mid(MATDISCIPLINA.TURMAID,3,1), Mid(MATDISCIPLINA.TURMAID,5,1), Mid(MATDISCIPLINA.TURMAID,6,1), MATDISCIPLINA.DISCIPLINA, ALUNO.NOME_COMPL;
SENDO QUE O CAMPO: First(NZ([CONCEITOFINAL_AJUST],0)) AS CONCEITOFINAL_AJUSTA - ANTES ERA NUMÉRICO, AGORA É TEXTO (R, S OU I) POR ISSO NÃO ESTOU CONSEGUINDO GERAR A CONSULTA - TEM COMO INSERIR ALGUMA EXPRESSÃO QUE CONVERTA AS LETRAS R, S E I, EM NÚMEROS (TIPO R=5, S=10 E I=4 DE MODO QUE CONTINUE FAZENDO A OPERAÇÃO?
Valmir Silva
Posts
21/11/2013
Alex Lekao
Nao consegui entender muito bem, e nao pude analisar muito bem o seu codigo.
Vou me ater a basicamente a questao que vc disse da conversao, sugiro usar o Case, assim vc checa se for cada um deles vc muda para o outro.
Por exemplo:
case when seu_campo = 'r' then 5 when seu_campo = 's' then 2 else 1 end
Faz um teste e veja se resolve dentro do que vc esta querendo.
Espero ter ajudado.
Abraco.
Alex - Lekao
21/11/2013
Isaac Jose
Nao consegui entender muito bem, e nao pude analisar muito bem o seu codigo.
Vou me ater a basicamente a questao que vc disse da conversao, sugiro usar o Case, assim vc checa se for cada um deles vc muda para o outro.
Por exemplo:
case when seu_campo = 'r' then 5 when seu_campo = 's' then 2 else 1 end
Faz um teste e veja se resolve dentro do que vc esta querendo.
Espero ter ajudado.
Abraco.
Alex - Lekao
boa tarde a todos....
Lekao... e isso mesmo..
porem por motivo de performace...
sugiro que seja criada uma tabela desse case...
att Isaac
21/11/2013
Alex Lekao
foi a unica coisa que passou pela minha cabeca... rsrsr
maior correria... se a solucao era essa mesmo entao otimo... rsrs pensei certo. rsrsr
a nova tabela pode ser interessante sim, acho que deve ter menos peso na instrucao uma juncao que um case.
Obrigado.
21/11/2013
Isaac Jose
foi a unica coisa que passou pela minha cabeca... rsrsr
maior correria... se a solucao era essa mesmo entao otimo... rsrs pensei certo. rsrsr
a nova tabela pode ser interessante sim, acho que deve ter menos peso na instrucao uma juncao que um case.
Obrigado.
sim bem menor porem não sabemos se o nosso pensamento esta correto.kkkk
então vamos ver quando o amigo responder :)
22/11/2013
Valmir Silva
Clique aqui para fazer login e interagir na Comunidade :)