我写了这个 Median 函数,但它执行时出错。有人可以指导我代码中有什么问题吗?
BEGIN
CREATE TABLE #ITEMORDERDETAILS
(
ITEM CHAR(15),
QTYSHP DECIMAL(21, 6),
RQDATE DATETIME
)
DECLARE @Median FLOAT
DECLARE @ITEM CHAR(15)
DECLARE @ORDERCNT INT
SET @ITEM=@ITEMN
INSERT #ITEMORDERDETAILS
SELECT ITEM,
QTYSHP,
RQDATE
FROM tbl123456
WHERE PRICE != '0'
AND SALESMN != 'WB'
AND RQDATE > ( getdate () - 180 )
AND ITEM = @ITEM
UNION
SELECT ITEM,
QTYSHP,
RQDATE
FROM tbl123
WHERE PRICE != '0'
AND SALESMN != 'WB'
AND RQDATE > ( getdate () - 180 )
AND ITEM = @ITEM
SELECT @ORDERCNT = count (1)
FROM #ITEMORDERDETAILS
--SELECT @ORDERCNT
SELECT @Median = ( sum(QTYSHP) / @ORDERCNT )
FROM #ITEMORDERDETAILS
SELECT @Median AS 'Median'
--SELECT * from #ITEMORDERDETAILS
DROP TABLE #ITEMORDERDETAILS
RETURN @Median
END
错误
消息 2772,级别 16,状态 1,过程 f_Get_Average_Order_Size_Median,第 34 行无法从函数内访问临时表。
消息 2772,级别 16,状态 1,过程 f_Get_Average_Order_Size_Median,第 35 行无法从函数内访问临时表。
消息 2772,级别 16,状态 1,过程 f_Get_Average_Order_Size_Median,第 42 行无法从函数内访问临时表。
消息 156,级别 15,状态 1,过程 f_Get_Average_Order_Size_Median,第 46 行关键字“SELECT”附近的语法不正确。