Как переместить те же данные столбцов в одной таблице без циклов - PullRequest
1 голос
/ 24 октября 2009

Вот что я хочу сделать:

Я пытаюсь запутать данные и создать рабочую базу данных для документации. У меня есть список имен, которые я хочу смешать в таблице.

KEY FIRSTNAME  
135 CYNTHIA  
181 MARK  
186 MARGARET  
212 DESIVANITA  
506 AMY  
606 BRENDA   
628 KATHLEEN  
629 Johnna  
636 TAMARA   
652 KATHLEEN   

В этой таблице около 50К строк. Я хочу знать, есть ли способ смешать имена без использования цикла?

Ответы [ 3 ]

4 голосов
/ 24 октября 2009

Я бы предложил создавать поддельные данные вместо того, чтобы запутывать реальные данные. С поддельными данными нет никакой возможности, что вы можете раскрыть конфиденциальную информацию. Red Gate имеет изящный инструмент для создания тестовых данных, Генератор данных SQL , который упрощает генерацию реалистичных, поддельных данных с использованием различных типов правил с учетом схемы таблицы.

1 голос
/ 24 октября 2009

Одна из возможностей (при условии, что вы не против повторяющихся имен):

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
0 голосов
/ 08 ноября 2009

Я думаю, что с помощью cte и row_number () это можно сделать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...