I have a scenario in which I am pulling some strings on the bases of some search text.
All things are working fine but the data display order(sorting) is not helping much of it.
I am attaching a script here which will illustrate the scenario.
SELECT *
INTO #Temp
FROM ( SELECT 1 AS ID ,
'Strawberry + Pineapple YZ Topper ' AS Name
UNION ALL
SELECT 2 AS ID ,
'Strawberry + White Crisp '
UNION ALL
SELECT 3 AS ID ,
'Strawberry Orange Froyo '
UNION ALL
SELECT 4 AS ID ,
'Strawberry, Apple, Banana Btb'
UNION ALL
SELECT 5 AS ID ,
'Strawberry, Pineapple Banana '
UNION ALL
SELECT 6 AS ID ,
'Strawberry, Pineapple, Kiwi Trt'
UNION ALL
SELECT 7 AS ID ,
'2018 Delicious with Strawberries Pineapple'
UNION ALL
SELECT 8 AS ID ,
'Apple Devi Strawberries'
UNION ALL
SELECT 9 AS ID ,
'Be Happy-Tissue Dipped Strawberries'
) temp1
SELECT ROW_NUMBER() OVER ( ORDER BY ID ) AS [Row #] ,
#Temp.ID AS [Current Order] ,
Name
FROM #Temp
--ORDER BY #Temp.Name asc
SELECT ROW_NUMBER() OVER ( ORDER BY ID ) AS [Row #] ,
#Temp.ID AS [Current Order] ,
Name ,
CASE WHEN ID = 4 THEN 1
WHEN ID = 3 THEN 2
WHEN ID = 5 THEN 3
WHEN ID = 6 THEN 4
WHEN ID = 1 THEN 5
WHEN ID = 2 THEN 6
WHEN ID = 7 THEN 7
WHEN ID = 8 THEN 8
WHEN ID = 9 THEN 9
END AS [Required Order]
FROM #Temp
ORDER BY CASE WHEN ID = 4 THEN 1
WHEN ID = 3 THEN 2
WHEN ID = 5 THEN 3
WHEN ID = 6 THEN 4
WHEN ID = 1 THEN 5
WHEN ID = 2 THEN 6
WHEN ID = 7 THEN 7
WHEN ID = 8 THEN 8
WHEN ID = 9 THEN 9
END
DROP TABLE #Temp
while executing the above query will results in two different tables, table one is the actual table which is the outcome of my search result and I have demonstrated in table 2 what I am expecting .
Any good suggestion will be appreciated.