次のストアド プロシージャがあります。
@Beginn Datetime,
@End Datetime
as
Begin
select DATE,
IF((((SUM(ScheduleTime*(OkParts/100))/ SUM(PLannedTime)))) >1) then 1 else (((SUM(ScheduleTime*(OkParts/100))/ SUM(PLannedTime)))
from Rawdata where PartNo>0 and DATE> @Beginn and DATE< @End
Group by DATE
Order by DATE DESC
End
ただし、プロシージャはエラーをスローします。
計算された値は、パーセンテージ値であることを意味します。ユーザー入力が正しくないため、まれに値が 250% になることがあるため、1 を返したい (論理的には値は 100% のみ)、それ以外の場合は計算された値を返すだけです。ストアド プロシージャによって返される値の絶対上限を設定する関数をまだ見つけていません。