SQL - No logro concretar bien un procedimiento almacenado

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

No logro concretar bien un procedimiento almacenado

Publicado por Luis Gomez (6 intervenciones) el 30/12/2019 15:37:21
Tengo que realizar una consulta de una tabla sobre control de parque la cuestión es la siguiente cree un procedimiento el cual muestra por Paystation(Son las maquinas que brindan los tickets de parqueo) en un rango determinado de fechas cuantos tickets lleva y cuantos le restan ya que cada Paystation tiene un limite establecido de tickets el query seria el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE PROC [dbo].[MOSTRAR]
	@PAYSTATION INT,
	@CONTROL INT,
	@FECHA_IN DATE,
	@FECHA_FIN DATE
	AS
	delete from Consulta
	insert into  Consulta
	SELECT	intBoardNumber							AS [PAYSTATION],
			COUNT(intReceiptNumber)					AS [DATO_REAL],
			MIN(intReceiptNumber)					AS [DEL],
			MAX(intReceiptNumber)					AS [AL],
			@CONTROL-COUNT(intReceiptNumber)		AS [RESTANTE]
	FROM  dbo.trDPFEE WHERE dtExitDate BETWEEN @FECHA_IN AND @FECHA_FIN AND intBoardNumber = @PAYSTATION AND intReceiptNumber<>0
	GROUP BY intBoardNumber
	SELECT *FROM Consulta

La cuestión es que ahora necesito realizar lo por mes pero que sea de manera automática y que por ejemplo la Paystation 20 tiene un limite de tickest de 25000 y en el mes de enero se dieron 5000 entonces en el mes siguiente empezara con 20000 ya no con 25000 y así sucesivamente pero cuando le lleguen al 10% tener que mandar una alerte a un correo pero no se como realizar el query para que se vaya cambiando el valor progresivamente

Me pudieran ayudar, aun estoy aprendiendo y no se como realizar lo
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: 92
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

No logro concretar bien un procedimiento almacenado

Publicado por Luis Horacio (38 intervenciones) el 09/01/2020 17:55:01
Buen día,

Yo pensaría que para realizar ese control deberías tener una tabla de control (PayStation, Limite) asi:

PayStation Limite Usados
20 25000 5000
40 35000 32000

En el procedimiento almacenado tendría que ir acumulando el valor de la consulta en la tabla control en el campo usados y crear una consulta de la tabla Control para generar la alerta asi:

select PayStation, Limite, Usados, (Limite - usados) Resto, (limite * 0.10) Porc
from control
where (Limite - usados) <= (limite * 0.10)

Saludos
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