现在有两个表a和b,将a中的“bianhao”这一列的值,全部插入到b中的“ASSET_NEW_ID”
update b set ASSET_NEW_ID = a.bianhao from??a??INNER JOIN b ON a.ID=b.ID
总是提示:
消息 512,级别 16,状态 1,过程 detail_upd,第 6 行
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
语句已终止。
------解决思路----------------------
b表中的某一个(或几个)ID匹配到多个a.表中多个ID,所以sql server不知道用a表中的哪个值去更新b表了
------解决思路----------------------
你a表数据不唯一,至少有一个ID有多条记录。用下面的语句找出来
SELECT ID, COUNT(*)
FROM a
GROUP BY ID
HAVING COUNT(*) > 1
------解决思路----------------------
不可能的,两表又不通过ASSET_NEW_ID、bianhao 关联,是否null没关系。
你是否b上的触发器出的错?