不知道你的更新逻辑,要子查询返回等于一行很容易,下面有四种更新方法:
--> 取最小值更新
update form_all_data set save_data
=(select min(vdata) from form_all_data where form_id in (select form_id from tax_form where form_def_id='14'))--> 取最大值更新
update form_all_data set save_data
=(select max(vdata) from form_all_data where form_id in (select form_id from tax_form where form_def_id='14'))--> 取第一个值更新
update form_all_data set save_data
=(select top 1 vdata from form_all_data where form_id in (select form_id from tax_form where form_def_id='14'))--> 随即取一个值更新
update form_all_data set save_data
=(select top 1 vdata from form_all_data where form_id in (select form_id from tax_form where form_def_id='14') order by newid())
--> 取最小值更新
update form_all_data set save_data
=(select min(vdata) from form_all_data where form_id in (select form_id from tax_form where form_def_id='14'))--> 取最大值更新
update form_all_data set save_data
=(select max(vdata) from form_all_data where form_id in (select form_id from tax_form where form_def_id='14'))--> 取第一个值更新
update form_all_data set save_data
=(select top 1 vdata from form_all_data where form_id in (select form_id from tax_form where form_def_id='14'))--> 随即取一个值更新
update form_all_data set save_data
=(select top 1 vdata from form_all_data where form_id in (select form_id from tax_form where form_def_id='14') order by newid())
update form_all_data set save_data = vdata from form_all_data where form_id in (select form_id from tax_form where form_def_id='14')--orupdate form_all_data set save_data = vdata where form_id in (select form_id from tax_form where form_def_id='14')