Quando criamos uma função no Sql Server, ele não nos deixa usar a função newid() para retornar registros aleatórios, eis a solução para o problema:
Crie uma view chamada novaID, retornando newid() como nova_id
create view novaID as select newid() as nova_id
Cria agora uma Scalar Function chamada aleatorio, selecione o alias nova_id da view criada anteriormente e retorne a função como uniqueidentifier
create function aleatorio()
returns uniqueidentifier
as begin
return (select nova_id from novaID)
end
Pronto! Está criada a função para substituir o newid(), vc pode usa-lá normalmente, logo após o "ORDER BY"
abs