I have a stored procedure which uses the IN clause. In my ASP.NET application, I have a multiline textbox that supplies values to the stored procedure. I want to be able to order by the values as they were entered in the textbox. I found out how to do this easily in mySQL (using FIELD function), but not a SQL Server equivalent.
So my query looks like:
Select * from myTable where item in @item
So I would be passing in values from my application like ‘113113’,’112112′,’114114′ (in an arbitrary order). I want to order the results by that list.
Would a CASE statement be feasible? I wouldn’t know how many items are coming in the textbox data.
How are you parameterising the
INclause?As you are on SQL Server 2008 I would pass in a Table Valued Parameter with two columns
itemandsort_orderand join on that instead. Then you can just add anORDER BY sort_orderonto the end.