У меня есть таблица extradata, которую необходимо обновить. Он должен быть обновлен для 863 разных учетных записей.Обновить таблицу из запроса большого выбора
Вот блок запроса, который возвращает и помещает в временную таблицу номера учетных записей, которые необходимо изменить.
Есть ли простой способ сделать массовое обновление по этому запросу?
declare @tmp table (number int)
insert into @tmp
select accountid as number from letterrequest
where lettercode in ('97001','70003','19998','91009','20000','99100','19997','70002','99099','91008','97002','97210','97231')
and dateProcessed >= '2013-12-04'
union all
select number from gizmo_requests
where letterCode in (97001,70003,19998,91009,20000,99100,19997,70002,99099,91008,97002,97210,97231)
and dateProcessed >= '2013-12-04'
union all
select number from jm_efiling
where letter in (97001,70003,19998,91009,20000,99100,19997,70002,99099,91008,97002,97210,97231)
and datePrinted >= '2013-12-04'
select distinct * from @tmp
Этот запрос возвращает 863 строки идентификатора учетной записи.
update extradata set line4 = 'TEST'
where extracode = 'L3'
and number in @tmp
только если столбец числа находится в таблице темп выше.
Внутреннее объединение экстракоде к @tmp? –
Что вы подразумеваете под «легким»? Быстрее или лучше код? – Shiva
@shiva Легко, как простой способ обновить 863 из таблицы tmp. Единственный способ, которым я могу это сделать, - это боль, создавая цикл while. –