Order by comma delimited Id by 41 {PCategory} DECLARE @OrderList VARCHAR(MAX) = '3,5,1,4,2'; SELECT a.* FROM Account a INNER JOIN STRING_SPLIT(@OrderList, ',', 1) s ON a.AccountId = s.value ORDER BY s.ordinal; {PCategory}