Fórum Problemas na estrutura da Sql(URGENTE) #191840

30/10/2003

0

:oops:
Estou com problemas com a seguinte SQL
algém poderia me ajudar a corrigir o erro que se encontra nela ?????

Select A.*, B.*, C.*,(B.Nota1+b.Nota2+b.Nota3+b.Nota4)/4 as b.media,´APR´ AS b.situacao
from Alunos A, Medias B, Creditos C
where B.Aluno = A.Codigo and
C.Creditos = B.Curso
where ( ( (B.nota1+B.nota2+B.nota3+B.nota4)/4 ) >= 5) and (B.faltas < 0,1*C.CredDisc)
union select B.nota1,B.nota2,B.nota3,B.nota4,B.faltas,
(B.nota1+B.nota2+B.nota3+B.nota4)/4 as B.media,´RPN´ AS B.situacao
from medias
where ( ( (B.nota1+B.nota2+B.nota3+B.nota4)/4 ) < 5) and (B.faltas < 0,1*C.CredDisc)union select B.nota1,B.nota2,B.nota3,B.nota4,B.faltas,
(B.nota1+B.nota2+B.nota3+B.nota4)/4 as B.media,´RPF´ AS B.situacao
from medias
where (B.faltas >= 0,1*C.CredDisc)

a última condiçao é que as faltas que estão na tabela média a condição é 10 ¬ dos creditos da disciplina da tabelas creditos.
preciso arrumar esta sql com muita urgência, antecipadamente agradeço.


Carlosdarienzo

Carlosdarienzo

Responder

Posts

31/10/2003

Luineumann

acredito queo erro esteja na multiplicação 0,1*C.CredDisc

no sql o separador decimal deve seguir a notação inglesa, ou seja, deve ser o ´.´ e não a ´,´. a ´,´ é considerado um separador de campos

outra sugestão é colocar a expressão de multiplicação entre parênteses

(0,1*C.CredDisc) -


Responder

Gostei + 0

31/10/2003

Frare

Olá

Verifique a condição UNION, pois a mesma é usada quando as tabelas envolvidas são parecidas Ex>

Select cli_nome, cli_cnpj
from cliente
UNION
Select for_nome, for_cnpj
from forne

No seu caso vc está com um erro assim

Select A.*, B.*, C.*,(B.Nota1+b.Nota2+b.Nota3+b.Nota4)/4 as b.media,´APR´ AS b.situacao
from Alunos A, Medias B, Creditos C
UNION
select B.nota1,B.nota2,B.nota3,B.nota4,B.faltas,
(B.nota1+B.nota2+B.nota3+B.nota4)/4 as B.media,´RPN´ AS B.situacao
from medias

Repare que as colunas não são as mesma.

Espero ter ajudado. :wink:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar