• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Dinar al-khattab

Ajuda

2 mensagens neste tópico

Eu fiz este select que penso que está bem, mas isto dá-me um erro

select s.codprova, min(s.tempo), n.nome, trunc((months_between (sysdate,datanascimento))/12) as "IDADE"
from t_score s, t_nadador n
where s.codnadador=n.codnadador
and s.codcomp=
  (
  select codComp
  from t_competicao
  where to_char(data,'yyyy') = '2002'
  )
group by s.codprova

>>>>O erro é este

Error starting at line 1 in command:

select s.codprova, min(s.tempo), n.nome, trunc((months_between (sysdate,datanascimento))/12) as "IDADE"

from t_score s, t_nadador n

where s.codnadador=n.codnadador

and s.codcomp=

  (

  select codComp

  from t_competicao

  where to_char(data,'yyyy') = '2002'

  )

group by s.codprova

Error at Command Line:1 Column:33

Error report:

SQL Error: ORA-00979: não é uma expressão GROUP BY

00979. 00000 -  "not a GROUP BY expression"

*Cause:   

*Action:

Será que alguém me podia ajudar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No segundo select faz:

select max(codComp) pois aqui apenas podes devolver um único valor caso devolva mais da erro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora