update B set B.zzguid=(select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID); UPDATE A SET A.ZZGUID=JGZZGUID;
update B set B.zzguid=(select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID); UPDATE A SET A.ZZGUID=JGZZGUID;这样很明显不行,update B set B.zzguid=(select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID); 这个 (select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID);先不说这条语句是否正确,假设正确,返回不是一个值,而是很多个值,这样数据回报单行字查询返回多个行
update B set B.zzguid=(select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID); UPDATE A SET A.ZZGUID=JGZZGUID;这样很明显不行,update B set B.zzguid=(select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID); 这个 (select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID);先不说这条语句是否正确,假设正确,返回不是一个值,而是很多个值,这样数据回报单行字查询返回多个行 如果是存在返回多行记录,那你更新的时候是基于什么规则?也就是说如果同一个ZZGUID对应多个JGZZGUID ,你要更新成哪一个?最小的,最大的....
估计有可能是返回0行了,0行和多行错误号一样,增加个条件试下,没有对应数据的不需要更新 update B set B.zzguid=(select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID) where exits (select 1 FROM A WHERE A.ZZGUID=B.ZZGUID)
单词拼错 update B set B.zzguid=(select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID) where exists (select 1 FROM A WHERE A.ZZGUID=B.ZZGUID)
UPDATE A SET A.ZZGUID=JGZZGUID;
UPDATE A SET A.ZZGUID=JGZZGUID;这样很明显不行,update B set B.zzguid=(select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID);
这个 (select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID);先不说这条语句是否正确,假设正确,返回不是一个值,而是很多个值,这样数据回报单行字查询返回多个行
UPDATE A SET A.ZZGUID=JGZZGUID;这样很明显不行,update B set B.zzguid=(select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID);
这个 (select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID);先不说这条语句是否正确,假设正确,返回不是一个值,而是很多个值,这样数据回报单行字查询返回多个行
如果是存在返回多行记录,那你更新的时候是基于什么规则?也就是说如果同一个ZZGUID对应多个JGZZGUID ,你要更新成哪一个?最小的,最大的....
update B set B.zzguid=(select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID)
where exits (select 1 FROM A WHERE A.ZZGUID=B.ZZGUID)
update B set B.zzguid=(select A.JGZZGUID FROM A WHERE A.ZZGUID=B.ZZGUID)
where exists (select 1 FROM A WHERE A.ZZGUID=B.ZZGUID)