/*****************************
NAME: wsp_getSomeStuffAndSortIt
CREATED: 11/01/2003 Mr3Putt
REFERENCE: None
PURPOSE: A public sample of my ineptitude
REVISIONS: Mr3Putt 11.2004 deleted almost everything
*****************************/
ALTER Procedure wsp_getBLPTrFd_Trades
(
@iSortCol int = 0,
@sSortDir varchar(4) = 'DESC',
@dTradeDt smalldatetime
)
AS
SET NOCOUNT OFF
IF @sSortDir = 'ASC' -- ASCENDING SORT ORDER
BEGIN
SELECT t.nPrice, p.sTransDescr
FROM dbo.TableOfStuff t
WHERE (@dTradeDt = t.TradeDate)
ORDER BY
CASE @iSortCol -- SORT NUMERIC COLUMNS
WHEN 0 THEN t.iTrFdID
WHEN 1 THEN t.iTSN
WHEN 2 THEN t.iStartTrnNbr
WHEN 7 THEN t.iTrRecType
WHEN 8 THEN t.nTradeAmt
WHEN 13 THEN t.nPrice
END ASC,
CASE @iSortCol -- SORT TEXT COLUMNS
WHEN 3 THEN t.sTraderName
WHEN 4 THEN t.sSecID
WHEN 17 THEN p.sTransDescr
WHEN 19 THEN c.sOurTrnCode
END ASC,
CASE @iSortCol -- SORT DATE COLUMNS
WHEN 9 THEN t.dTradeDt
WHEN 12 THEN t.dMaturity
WHEN 15 THEN t.dLastUpdDt
END ASC,
1 DESC [COLOR=green]-- default sort by first column[/color]
END
ELSE
BEGIN
SELECT t.nPrice, p.sTransDescr -- DESCENDING ORDER (default)
FROM dbo.TableOfStuff t
WHERE (@dTradeDt = t.TradeDate)
ORDER BY
CASE @iSortCol -- SORT NUMERIC COLUMNS
WHEN 0 THEN t.iTrFdID
WHEN 1 THEN t.iTSN
WHEN 2 THEN t.iStartTrnNbr
WHEN 7 THEN t.iTrRecType
WHEN 8 THEN t.nTradeAmt
END DESC,
CASE @iSortCol -- SORT TEXT COLUMNS
WHEN 3 THEN t.sTraderName
WHEN 4 THEN t.sSecID
WHEN 5 THEN t.sBuySellFlag
WHEN 19 THEN c.sOurTrnCode
END DESC,
CASE @iSortCol -- SORT DATE COLUMNS
WHEN 9 THEN t.dTradeDt
WHEN 10 THEN t.dSettleDt
WHEN 12 THEN t.dMaturity
WHEN 15 THEN t.dLastUpdDt
END DESC,
1 DESC
END
SET NOCOUNT ON