這是我想做的事:如何移動相同的表內的同一列中的數據不循環
我試圖混淆數據,並創建用於文檔工作數據庫。我有一張我想混在一張表中的名字列表。
KEY FIRSTNAME
135 CYNTHIA
181 MARK
186 MARGARET
212 DESIVANITA
506 AMY
606 BRENDA
628 KATHLEEN
629 Johnna
636 TAMARA
652 KATHLEEN
該表有大約5萬行。我想知道是否有方法混合名稱而不使用循環?
這是我想做的事:如何移動相同的表內的同一列中的數據不循環
我試圖混淆數據,並創建用於文檔工作數據庫。我有一張我想混在一張表中的名字列表。
KEY FIRSTNAME
135 CYNTHIA
181 MARK
186 MARGARET
212 DESIVANITA
506 AMY
606 BRENDA
628 KATHLEEN
629 Johnna
636 TAMARA
652 KATHLEEN
該表有大約5萬行。我想知道是否有方法混合名稱而不使用循環?
我會建議創建假數據而不是混淆真實數據。使用虛假數據,您不可能暴露敏感信息。 Red Gate有一個漂亮的工具來創建測試數據,這使得使用各種類型的表格模式來生成逼真的假數據變得微不足道。
+1提出一個不會重新發明車輪的解決方案。 – 2009-10-23 20:39:13
一種可能性是(假設你不介意重複的名稱):
DECLARE @T TABLE (ID INT, FirstNAme VARCHAR(10), newColumn VARCHAR(10))
INSERT INTO @T
(ID, FirstNAme)
SELECT 135 ,'CYNTHIA'
UNION ALL SELECT 181 ,'MARK'
UNION ALL SELECT 186 ,'MARGARET'
UNION ALL SELECT 212 ,'DESIVANITA'
UNION ALL SELECT 506 ,'AMY'
UPDATE @T
SET NewColumn = (SELECT TOP 1 FirstName FROM @T t2 ORDER BY NEWID())
SELECT *
FROM @t
我想通過使用CTE和ROW_NUMBER()是可以做到的
你是什麼意思mix-向上。數據庫表是一個集合。它沒有秩序。 – dave 2009-10-23 20:29:39
你想如何混淆這些名字?只是把它們混合成一個排列組合?還是其他技術? – 2009-10-23 20:31:33
當我說混淆時,我的意思是把喬治的名字叫做特德和吉爾,邁克和比爾去辛迪等。 – user142253 2009-11-09 13:53:42