这是我想做的事:如何移动相同的表内的同一列中的数据不循环
我试图混淆数据,并创建用于文档工作数据库。我有一张我想混在一张表中的名字列表。
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