Click here to Skip to main content
15,891,033 members
Please Sign up or sign in to vote.
2.00/5 (1 vote)
CREATE FUNCTION [dbo].[f_Get_Average_Order_Size_Median]
(
@ITEM char(15)
)
RETURNS decimal(21,6)
AS
BEGIN

SELECT @Median = AVG(1.0 * QTYSHP)
FROM
(
SELECT o.QTYSHP, rn = ROW_NUMBER() OVER (ORDER BY o.QTYSHP), c.c
FROM dbo.tblSOTRAN AS o WHERE RQDATE >=DATEADD (mm,-6, GETDATE()) AND PRICE != '0' AND SALESMN != 'WB' AND item = @ITEM )

+
SELECT o.QTYSHP, rn = ROW_NUMBER() OVER (ORDER BY o.QTYSHP), c.c

FROM tblSOYTRN WHERE RQDATE >=DATEADD (mm,-6, GETDATE()) AND PRICE != '0' AND SALESMN != 'WB' AND item = @ITEM

CROSS JOIN (SELECT c = COUNT(*) FROM dbo.tblSOTRAN) AS c

WHERE RQDATE >=DATEADD (mm,-6, GETDATE()) AND PRICE != '0' AND SALESMN != 'WB' AND item = @ITEM

+ (SELECT c = COUNT(*) FROM dbo.tblSOYTRN) AS c

WHERE RQDATE >=DATEADD (mm,-6, GETDATE()) AND PRICE != '0' AND SALESMN != 'WB' AND item = @ITEM

) AS x
WHERE rn IN ((c + 1)/2, (c + 2)/2);


@Return = @Median
BEGIN

END
RETURN @Return

END TRANSACTION
Posted
Comments
Sergey Alexandrovich Kryukov 26-Oct-13 0:27am    
What, without knowing what did you try to achieve and database schema?
—SA

1 solution

1. First Declare @Median,@Return.

2. U Can't Add Two Select Statements
Like

Select SomeColumnName From TableName1 Where Name like '%A'
+
Select SomeColumnName From TbleName2 Where Name Like '%A'
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900