Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Update - обновление всех записей таблицы


Автор: Veroonya 9.12.2008, 13:25
У меня есть запрос, выбирающий из таблицы все фамилии, имена отчества. Далее обновляются все имена случайным значением, выбранным из той же таблицы:

Код: 
    BEGIN TRANSACTION

    SELECT TOP 10
    WM_PERSONAL_CARD.SURNAME, WM_PERSONAL_CARD.NAME,  WM_PERSONAL_CARD.SECONDNAME,A_SEX --пол
    FROM
    WM_PERSONAL_CARD /* Личное дело гражданина */
    ORDER BY WM_PERSONAL_CARD.ID

    UPDATE WM_PERSONAL_CARD
    SET NAME = SHUFFLE.NAME
    FROM (
      SELECT TOP 100 PERCENT NAME, A_SEX
      FROM WM_PERSONAL_CARD
      WHERE A_SEX = 1
      ORDER BY newid()
    ) SHUFFLE
    WHERE WM_PERSONAL_CARD.A_SEX=1

    ROLLBACK TRANSACTION



В результате получается, что все мужские имена (A_SEX=1) заменяются на одно и то же имя SHUFFLE.NAME.
Нужно сделать, чтоб каждая запись заменялась на РАЗНЫЕ имена.
Подскажите, как построить запрос?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)