Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Conservation de ORDER BY dans SELECT INTO

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()