Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

consultas

Estas en el tema de consultas en el foro de Oracle en Foros del Web. gracias de antemano me gustaria que me ayudaran a ver el error select estudiante.cod,estudiante.nombre, avg((n1+n2+n3)/3) as "promedio" from estudiante,est_curso where estudiante.cod=est_curso.cod group by studiante.cod,estudiante.nombre; me ...
  #1 (permalink)  
Antiguo 03/05/2011, 21:54
Avatar de ednagiraldo2107  
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Pregunta consultas

gracias de antemano me gustaria que me ayudaran a ver el error
select estudiante.cod,estudiante.nombre, avg((n1+n2+n3)/3) as "promedio" from estudiante,est_curso where estudiante.cod=est_curso.cod group by studiante.cod,estudiante.nombre;

me sale error en el from no entiendo porque en mysql si me corre pero en oracle no gracias por resolverme las dudas
  #2 (permalink)  
Antiguo 03/05/2011, 22:01
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: consultas

y cual es el error?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 04/05/2011, 14:24
Avatar de ednagiraldo2107  
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: consultas

Cita:
Iniciado por ednagiraldo2107 Ver Mensaje
gracias de antemano me gustaria que me ayudaran a ver el error
select estudiante.cod,estudiante.nombre, avg((n1+n2+n3)/3) as "promedio" from estudiante,est_curso where estudiante.cod=est_curso.cod group by studiante.cod,estudiante.nombre;

me sale error en el from no entiendo porque en mysql si me corre pero en oracle no gracias por resolverme las dudas
me sale asi:

SQL> select estudiante.cod_est,estudiante.nombre,curso.descrip cion,avg((n1+n2+n3
)/3)as "promedio" from estudiante,est_curso,curso where estudiante.cod_est=est_c
urso.cod_est and curso.cod_c=est_curso.cod_c;
select estudiante.cod_est,estudiante.nombre,curso.descrip cion,avg((n1+n2+n3)/3)a
s "promedio" from estudiante,est_curso,curso where estudiante.cod_est=est_curso.
cod_est and curso.cod_c=est_curso.cod_c
*
ERROR en lÝnea 1:
ORA-00937: la funci¾n de grupo no es de grupo ·nico
  #4 (permalink)  
Antiguo 04/05/2011, 15:21
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: consultas

Tienes razón.
En oracle, solo puedes hacer uso de las funciones de agrupación con una sola columna.

Según esta prueba en mysql
Código SQL:
Ver original
  1. mysql> SELECT avg(id+id_marca),(avg(id)+avg(id_marca)) FROM productos;
  2. +------------------+-------------------------+
  3. | avg(id+id_marca) | (avg(id)+avg(id_marca)) |
  4. +------------------+-------------------------+
  5. |          10.7143 |                 10.7143 |
  6. +------------------+-------------------------+
  7. 1 ROW IN SET (0.03 sec)

es equivalente que hagas los avg por separado de cada columna.

compara con tus datos.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:42.