2010-08-18 2 views
1

Получил таблицу с 1200 строк. Добавлен новый столбец, который будет содержать инкрементные значения - Кандидат1 Кандидат2 Кандидат3 . . . Кандидат1200Вставка многочисленных инкрементных значений в столбец

Каков наилучший способ вставить эти значения, не ручной способ. Я использую SQL Server 2008

ответ

2

Предполагая, что есть столбец IDENTITY (я назвал его id для этого примера):

UPDATE YOUR_TABLE 
    SET new_column = (SELECT 'Candidate'+ CAST(ROW_NUMBER() OVER(ORDER BY yt.id) AS VARCHAR(4)) 
         FROM YOUR_TABLE yt 
        WHERE yt.id = YOUR_TABLE.id) 
+0

Это отлично работает. Спасибо – Abey

+0

Вы добрались до него быстрее, чем я, - мне пришлось искать ROW_NUMBER в документах! – RQDQ

+0

Просто интересно, не было ли какого-либо столбца идентификатора, или мы должны были выполнить аналогичную операцию в новой таблице с двумя столбцами (ID, Кандидат) – Abey

2

Вы можете быть в состоянии использовать ROW_NUMBER

http://msdn.microsoft.com/en-us/library/ms186734.aspx

Возможно выполнить запрос, который получает номер строки и использовать этот запрос, чтобы выполнить обновление исходной таблицы, где вы конкатенации номер строки с «кандидатом».

Смежные вопросы