Here's a few things you can try:
1. Remove the common table expression and do a direct update on your tblSingleSend table:
Update TOP (2000)...
As the error suggests, the error is caused by the ORDER BY VE.Score because you don't have VE.Score in your SELECT statement and GROUP BY statement....
>> how do I rewrite this statement to call the table valued function ? <<
To rewrite this statement to call the table valued function, simply treat...
Here's another link that may be helpful: http://www.sql-server-helper.com/tips/generate-random-records.aspx
SQL Server Helper
Separate names with a comma.