cho*_*obo 11 sql sql-server sql-server-2008
我有两张桌子.Table 1有大约80行,Table 2大约有1000万.
我想Table 2用随机行更新所有行Table 1.我不希望所有行都有相同的行.是否可以更新Table 2并随机选择要更新的每一行的值?
这是我尝试过的,但它在每一行中都有相同的值.
update member_info_test
set hostessid = (SELECT TOP 1 hostessId FROM hostess_test ORDER BY NEWID())
Run Code Online (Sandbox Code Playgroud)
**编辑
Lam*_*mak 15
好吧,我认为这是我写过的最奇怪的查询之一,我认为这将是非常缓慢的.但试一试:
UPDATE A
SET A.hostessid = B.hostessId
FROM member_info_test A
CROSS APPLY (SELECT TOP 1 hostessId
FROM hostess_test
WHERE A.somecolumn = A.somecolumn
ORDER BY NEWID()) B
Run Code Online (Sandbox Code Playgroud)