特定の開始年と終了年の間に年が存在するかどうかを確認し、存在する年を返すストアド プロシージャを作成する必要があります。たとえば、開始年として 2000 年、終了年として 2005 年を指定すると、テーブルに存在する年が返されます。次のコードを試しましたが、機能しません。
ALTER PROCEDURE [dbo].[CheckExistenceforyear]
@StYear int = 0,
@EdYear int = 0,
@SubStationID int = 0,
@YrString varchar(255) = null Output
AS
BEGIN
SET NOCOUNT ON;
Declare @TempValue varchar(4)
if @StYear <= @EdYear
while @StYear <= @EdYear
Begin
if (select Count(Sub.Year) from table sub where Sub.Year=@StYear and Sub.SubStationID = @SubStationID) > 0
Begin
select @TempValue=Sub.Year from table as sub where Sub.Year=@StYear and Sub.SubStationID = @SubStationID
set @YrString = @YrString + @TempValue
End
set @StYear = @StYear +1
End
Else
return -1
select @YrString
END