SQL - Ayuda con promedio de comisiones

 
Vista:
sin imagen de perfil
Val: 11
Ha aumentado su posición en 83 puestos en SQL (en relación al último mes)
Gráfica de SQL

Ayuda con promedio de comisiones

Publicado por Ricardo (7 intervenciones) el 16/04/2017 19:59:26
Este es el ejercicio, aun no logro ver la forma de que me tire el resultado que necesito.
Me serviría mucho su ayuda.

Una de las rutinas que se deberán desarrollar para el nuevo sistema de remuneraciones del banco es una función que permita obtener el valor promedio de las comisiones. Por ahora, basta con que Ud. cree un Bloque PL/SQL Anónimo que permita obtener esta información. Se debe considerar que el valor de la comisión es salario * porcentaje_comision y que para obtener el promedio se deben considerar TODOS los empleados posean o no porcentaje de comisión. Al ejecutar el bloque, éste debería mostrar la información en el formato que se muestra en el ejemplo:


RESULTADO:

El promedio de comisión es $689



Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Ayuda con promedio de comisiones

Publicado por leonardo_josue (1173 intervenciones) el 17/04/2017 16:29:31
Hola Ricardo:

Mi pregunta para ti sería, ¿y cuál es tu problema? ok, has dejado muy en claro la redacción de lo que quieres hacer (que por cierto parece ser sacada de alguna tarea o algo así) pero no nos dices qué problema tienes, más bien pareciera que quieres que nosotros hagamos tu trabajo (cosa que espero no sea cierta)...

la consulta en realidad es muy simple, basta con utilizar las funciones que los propios manejadores de Base de Datos te proporcionan... No nos dices con qué BD estás trabajando, pero utilizando SQL Estándar lo podrías hacer con AVG... si no sabes cómo trabaja esta función pregúntale a SAN GOOGLE, él generalmente tiene todas las respuestas.

Si continuas con problemas, POSTEA ALGO DE LO QUE INTENTASTE HACER, no importa que no funcione tu código o no te regrese lo que necesitas... En esos casos postea los mensajes de error, si los hay, que te aparezcan o dinos dónde está el fallo.

Postea también la estructura de tus tablas, pon algunos datos de ejemplo y a partir de esos datos de ejemplo dinos qué es lo que estás esperando como salida, de esta forma será más factible que te podamos ayudar.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 11
Ha aumentado su posición en 83 puestos en SQL (en relación al último mes)
Gráfica de SQL

Ayuda con promedio de comisiones

Publicado por Ricardo (7 intervenciones) el 17/04/2017 22:03:51
Hola Leo, agradezco tu comentario. Respecto a mi solicitud , me disculpo por no ser específico, de este ejercicio he avanzado un poco o bueno, como recién estoy aprendiendo creo que tengo una idea de lo que sería en si la consulta.

Trabajo con PL/SQL Oracle y práctico consultas con la base de datos hr que trae el SQL developer de Oracle.

Me gustaría proporcionar mi código ahora, pero no me encuentro en mi casa , cuando esté de vuelta enviaré mi codigo.



Intentare hacer algo dese el celular para que veas lo que avance o la idea que tenía , gracias.
1
2
3
4
5
6
7
8
DECLARE
 v_prom number;
BEGIN
 Select AVG(t_temp)
 From
  (Select commission_pct * salary from employees)
 
END;


En mi casa tengo algo más, esto es lo que recuerdo jejeje espero puedas guiarme, saludos y gracias nuevamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 11
Ha aumentado su posición en 83 puestos en SQL (en relación al último mes)
Gráfica de SQL

Ayuda con promedio de comisiones

Publicado por Ricardo (7 intervenciones) el 18/04/2017 04:56:52
YA ME SALIO!! :D
No sabia del NVL un amigo me enseño, Gracias de igual manera, dejare como quedo mi codigo.
1
2
3
4
5
6
7
8
9
10
DECLARE
  v_prom number;
BEGIN
  SELECT AVG(t_temp)
  INTO v_prom
  FROM
    (SELECT salary* NVL(commission_pct,0) t_temp
    FROM employees);
  DBMS_OUTPUT.PUT_LINE('El promedio de comisión es: ' || TO_CHAR(ROUND(v_prom,0),'$999'));
END;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar