我无法确定以下语法有什么问题。
alter table #table1 add C21 datetime
update #table1 a
set a.C21 = b.C21_result_lab from #table2 b where a.person_id = b.person_id and
a.source_id = b.source_id
错误消息:
第102层15级州立363行 'a'附近的语法不正确。
答案 0 :(得分:1)
这是正确的语法:
alter table #table1 add C21 datetime;
update a
set a.C21 = (
select b.C21_result_lab from #table2 b
where
a.person_id = b.person_id
and
a.source_id = b.source_id
)
from #table1 a
您必须确保select查询返回的行不超过1个。
或者,您也可以使用联接来实现:
update a
set a.C21 = b.C21_result_lab
from #table1 a inner join #table2 b
on a.person_id = b.person_id and a.source_id = b.source_id