आपको डेटाबेस इंजन को प्रत्येक पंक्ति के लिए नए मान का मूल्यांकन करने के लिए बाध्य करना चाहिए। आप डमी जोड़कर ऐसा कर सकते हैं जहां बाहरी टेबल पर क्लॉज जैसे:
DECLARE @city TABLE(ID INT IDENTITY(1, 1), City VARCHAR(100))
INSERT INTO @city VALUES
('Dallas'),
('New York'),
('Washington'),
('Las Vegas')
DECLARE @random TABLE(ID INT IDENTITY(1, 1), City VARCHAR(100))
INSERT INTO @random VALUES
('Manchester'),
('London'),
('Oxford'),
('Liverpool')
SELECT * FROM @city c
CROSS APPLY(SELECT TOP 1 * FROM @random r WHERE c.ID = c.ID ORDER BY NEWID()) ca
अगर आप WHERE c.ID = c.ID
. को हटाते हैं आपको सभी पंक्तियों के लिए समान मान मिलेगा।