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

Duda sobre procedimiento almacenado que calcula cobros

Estas en el tema de Duda sobre procedimiento almacenado que calcula cobros en el foro de Bases de Datos General en Foros del Web. Pues eso, que tengo duda sobre como hacerlo. La idea es pasarle el nombre de una persona, ver que numero de asignaturas tiene y en ...
  #1 (permalink)  
Antiguo 18/05/2004, 09:54
 
Fecha de Ingreso: diciembre-2002
Mensajes: 129
Antigüedad: 21 años, 5 meses
Puntos: 0
Duda sobre procedimiento almacenado que calcula cobros

Pues eso, que tengo duda sobre como hacerlo. La idea es pasarle el nombre de una persona, ver que numero de asignaturas tiene y en funcion de eso, calcular cuanto tiene que pagar. Hasta hay bien, he pensado hacerlo pasandole el precio de la asignatura como argumento y el nombre de la persona para asi buscar el numero de asignaturas que tiene. Lo que no se hacer es el descuento, pues si tiene una sola no tiene descuento, con dos se le aplica un descuento del 10%, con 3 del 20% y con 4 del 30%. Ese es el detalle que no veo muy bien como hacerlo. Si alguno me puede orientar un poco, se lo agradeceria un monton.
Muchas gracias a todos.
  #2 (permalink)  
Antiguo 18/05/2004, 10:33
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 1 mes
Puntos: 0
Si le pasas el precio de la asignatura como argumento, tendrías que pasarle tantos precios como asignaturas tenga.

Supongo que tendrás un Tabla de estudiantes, otra de asignaturas, en la que incluyes el precio de la asinatura, y otra con Alumno_Asignatura, para saber que alumnos se han matriculado en qué asignaturas..., yo añadiría otra más Descuentos, y así te evitas programar los descuentos por el número de asignaturas, sólo tendrías, el número de asignaturas y el descuento aplicado

Para calcular el precio con un procedimiento almacenado, pasa el nombre o número de empleado, lo que tengas... haces una primera select para saber el número de asignaturas en las que está matriculado, obtienes en otra select las asignaturas y el precio de cada una de ellas, y sumas, en una tercera, obtienes el descuento de la tabla descuentos, si no, tendrás que hacer un if dentro del procedimiento, y lo aplicas.


O Todo con una cojoselect


SELECT PrecioGral.ImporteaPagarTotal * Descuentos.DescuentoaAplicar as ImporteAPagar FROM
(SELECT Sum(PrecioAsignatura) ImporteaPagarTotal, Count(1) AS NumeroAsignaturas
FROM AlumnosAsinaturas AS INNER JOIN Asignaturas A ON AS.IdAsignatura = A.IdAsignatura
WHERE AS.IdEmpleado = @NumeroEmpleado) PrecioGral INNER JOIN Descuentos ON PrecioGral.NumeroAsignaturas = Descuentos.NumeroAsignaturas


Bueno... espero que te sirva de algo

Un saludo
  #3 (permalink)  
Antiguo 18/05/2004, 10:41
 
Fecha de Ingreso: diciembre-2002
Mensajes: 129
Antigüedad: 21 años, 5 meses
Puntos: 0
Muchisimas gracias. Es mas de lo que me esperaba, gran ayuda. Espero poder devolvertelo algun dia.
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 01:30.