После ответа от этого поста у меня есть что-то вроде этого:
update MyTable
set column1 = otherTable.SomeColumn,
column2 = otherTable.SomeOtherColumn
from MyTable
inner join
(select *some complex query here*) as otherTable
on MyTable.key_field = otherTable.key_field;
Однако, я продолжаю получать эту ошибку:
Столбецпрефикс «otherTable» не совпадает с именем таблицы или псевдонимом, используемым в запросе.
Я не уверен, что не так.Разве я не могу сделать такое обновление из подобного запроса?Любая помощь будет принята с благодарностью.
(я использую * blush * sql server 2000.)
РЕДАКТИРОВАТЬ:
вот фактический запрос
update pdx_projects set pr_rpc_slr_amount_year_to_date = summary.SumSLR, pr_rpc_hours_year_to_date = summary.SumHours
from pdx_projects pr join (
select pr.pr_pk pr_pk, sum(tc.stc_slr_amount) SumSLR, sum(tc.stc_worked_hours) SumHours from pdx_time_and_cost_from_rpc tc
join pdx_rpc_projects sp on tc.stc_rpc_project_id = sp.sol_rpc_number
join pdx_rpc_links sl on sl.sol_fk = sp.sol_pk
join pdx_projects pr on pr_pk = sl.pr_fk
where tc.stc_time_card_year = year(getdate())
group by pr_pk
) as summary
on pr.pr_pk = summary.pr_pk
и фактическое сообщение об ошибке:
Сервер: Msg 107, Уровень 16, Состояние 2, Строка 1 Префикс столбца 'summary' не совпадает с именем таблицы или псевдонимом, используемым взапрос.