title: Updating table with random data With NEWID() does not work
body: <p>SQL SERVER 2000:</p>
  
  <p>I have a table with test data (about 100000 rows), I want to update a column value from another table with some random data from another table. According to <a href="https://stackoverflow.com/questions/1289600/update-sql-table-with-random-value-from-other-table">this question</a>, This is what I am trying:</p>
  
  <pre><code>UPDATE testdata
  SET type = (SELECT TOP 1 id FROM testtypes ORDER BY CHECKSUM(NEWID()))
  
  -- or even
  UPDATE testdata
  SET type = (SELECT TOP 1 id FROM testtypes ORDER BY NEWID())
  </code></pre>
  
  <p>However, the "type" field is still with the same value for all rows; Any ideas what Am I doing wrong? </p>
  
  <p>[<strong>EDIT</strong>]
  I would expect this query to return one different value for each row, but it doesn't:</p>
  
  <pre><code>SELECT testdata.id, (SELECT TOP 1 id FROM testtypes ORDER BY CHECKSUM(NEWID())) type
  FROM testdata
  
  -- however seeding a rand value works
  SELECT testdata.id, (SELECT TOP 1 id FROM testtypes ORDER BY CHECKSUM(NEWID()) + RAND(testdata.id)) type
  FROM testdata
  </code></pre>