A表:分别有id列、a1、a2三个列;
B表:分别是id列、tableName、idInTable、b3三个列。B表b3列原来是用来放几个表的相通性质的数据的,现在想把这些数据放回各自的表中。
现在要把b3列的数据存入a2列,我写了几个sql语句,都说:无法绑定由多个部分组成的标识符 "B.b1"。
我写的sql语句如下:update A set a2=case when A.id=B.idInTable then right(B.b3, 3) else '' end where B.tableName='A'
--另一条语句
update A set a2=right(B.b3, 3) where B.tableName='A' and A.id=B.idInTable
与指针应该可以解决这个问题,我想问问可否用一条语句完成这个功能。
B表:分别是id列、tableName、idInTable、b3三个列。B表b3列原来是用来放几个表的相通性质的数据的,现在想把这些数据放回各自的表中。
现在要把b3列的数据存入a2列,我写了几个sql语句,都说:无法绑定由多个部分组成的标识符 "B.b1"。
我写的sql语句如下:update A set a2=case when A.id=B.idInTable then right(B.b3, 3) else '' end where B.tableName='A'
--另一条语句
update A set a2=right(B.b3, 3) where B.tableName='A' and A.id=B.idInTable
与指针应该可以解决这个问题,我想问问可否用一条语句完成这个功能。
from B
where B.tableName='A'
update A
set a2=case when A.id=B.idInTable then right(B.b3, 3) else '' end
from B
where B.tableName='A'
--另一条语句
update A
set a2=right(B.b3, 3)
from B
where B.tableName='A' and A.id=B.idInTable
UPDATE A SET a2=
CASE WHEN A.id=B.idInTable THEN RIGHT(B.b3, 3)
ELSE '' END FROM A , B WHERE B.tableName='A' A.id=B.idInTable