Je sais que c'est un peu vieux, mais j'avais besoin de faire quelque chose de similaire. Je voulais insérer le contenu d'une table dans une autre, mais dans un ordre aléatoire. J'ai découvert que je pouvais le faire en utilisant select top n
et order by newid()
. Sans le 'top n', l'ordre n'était pas préservé et la deuxième table avait des lignes dans le même ordre que la première. Cependant, avec 'top n', l'ordre (aléatoire dans mon cas) était conservé. J'ai utilisé une valeur de 'n' supérieure au nombre de lignes. Ma requête était donc du type :
insert Table2 (T2Col1, T2Col2)
select top 10000 T1Col1, T1Col2
from Table1
order by newid()