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.
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
Curtir tópico
+ 0
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) -
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:
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
Clique aqui para fazer login e interagir na Comunidade :)