我写了这个中值函数,但它执行有错误..有人可以指导我什么是错的代码?SQL服务器不能接受中值函数
BEGIN
CREATE TABLE #ITEMORDERDETAILS
(
ITEM CHAR(15),
QTYSHP DECIMAL(21, 6),
RQDATE DATETIME
)
DECLARE @Median FLOAT
DECLARE @ITEM CHAR(15)
DECLARE @ORDERCNT INT
SET @[email protected]
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行无法从函数内访问临时 表。
Msg 156,Level 15,State 1,Procedure f_Get_Average_Order_Size_Median,Line 46 关键字'SELECT'附近的语法不正确。
**无法从函数中访问临时表** – zimdanen
' @ table'变量可以用来代替。 –