Sasidhar Pulivarthi (4/9/2010)
Create a tabular function...
Or better still use one of Chris' methods or:
DECLARE @Example
TABLE (
col1 INTEGER NOT NULL PRIMARY KEY,
col2 VARCHAR(10) NOT NULL
);
INSERT @Example
(col1, col2)
SELECT 1, 'One' UNION ALL
SELECT 2, 'Two' UNION ALL
SELECT 3, 'Three' UNION ALL
SELECT 4, 'Four' UNION ALL
SELECT 5, 'Five' UNION ALL
SELECT 6, 'Six' UNION ALL
SELECT 7, 'Seven' UNION ALL
SELECT 8, 'Eight';
SELECT col1, col2
FROM @Example
WHERE col1 IN (5,1,3,8,2)
ORDER BY
CHARINDEX
(
',' + CONVERT(VARCHAR(12), col1) + ',',
',' + '5,1,3,8,2' +','
) ASC;
Paul White
SQLPerformance.com
SQLkiwi blog
@SQL_Kiwi