ALTER PROCEDURE [dbo]. [SerailNo_LoadValue]
(
@SerialNo int,
@ Сезон nchar (5)
)
AS
НАЧАТЬ
ЕСЛИ СУЩЕСТВУЕТ (ВЫБЕРИТЕ 1 ИЗ MATERIAL_Stock WHERE SerialNo = @SerialNo и Season = @Season)
НАЧАТЬ
if (@Season = 'PER')
НАЧАЛО
ВЫБРАТЬ код материала, ULC_id, setNo, MONTH (GETDATE ()) AS Delivery_Month, YEAR (GETDATE ()) AS Delivery_Year, 1 AS NORECORD
, ISNULL (qty_total, 0) AS qty_total, ISNULL (ULC, 0) AS 'ulsmtr', isnull (MATNR, '') как MATNR - ДОБАВЛЕНО ЛАЛИТОМ, КАК ОБСУЖДЕНО ДИПЕНДРОЙ 22 АПРЕЛЯ 2016
ИЗ МАТЕРИАЛА_Stock ВЕРНУТЬСЯ ВСТУПИТЬ ULC_master ON ULC_master.ID = MATERIAL_Stock.ULC_id ГДЕ SerialNo = @SerialNo и Season = @Season
END
ELSE
НАЧАТЬ
ВЫБРАТЬ код материала, ULC_id, setNo, Delivery_Month, Delivery_Year, 1 AS NORECORD
, ISNULL (qty_total, 0) AS qty_total, ISNULL (ULC, 0) AS 'ulsmtr', isnull (MATNR, '') как MATNR - ДОБАВЛЕНО ЛАЛИТОМ, КАК ОБСУЖДЕНО ДИПЕНДРОЙ 22 АПРЕЛЯ 2016 ГОДА
ИЗ МАТЕРИАЛА_Stock ВЕРНУТЬСЯ ВСТУПИТЬ ULC_master ON ULC_master.ID = MATERIAL_Stock.ULC_id ГДЕ SerialNo = @SerialNo и Season = @Season
END
выберите отдельный Delivery_Year, Delivery_Month, Season в #T из Material_stock
где сезон = @ сезон
заказ на Delivery_Year, Delivery_Month
select *, ROW_NUMBER () OVER (ORDER BY Delivery_Year, Delivery_Month) AS RowNumber в #TT из #T
объявить @MONTH int
объявить @YEAR int
объявить @ROWID int
выберите топ 1 @ MONTH = Delivery_Month, @ YEAR = Delivery_Year из dbo.Material_stock где Season = @ Season And SerialNo = @ SerialNo
выберите @ ROWID = RowNumber из #TT, где Delivery_Month = @ MONTH и Delivery_Year = @ YEAR
Delivery_Year выберите как Delivery_Month1, Delivery_Month, Delivery_Year, Season, RowNumber из #TT, где RowNumber> = @ ROWID
Drop Table #T
Drop Table # TT
END
END