无法绑定由多个部分组成的标识符

无法绑定由多个部分组成的标识符 

with temp as
(
select branchGuid, n.branchname,right(b.branchname,len(b.branchname)-3) brname from branch b 
inner join old o on b.branchname=o.branchname
inner join new n on right(o.branchname,len(o.branchname)-3)=right(n.branchname,len(n.branchname)-3)
)

--select temp.branchGuid from temp
update branch set branch.branchname=temp.branchname where temp.branchGuid=branch.branchGuid

上句会报错 无法绑定由多个部分组成的标识符 temp

下面是正确的写法

with temp as
(
select branchGuid, n.branchname,right(b.branchname,len(b.branchname)-3) brname from branch b 
inner join old o on b.branchname=o.branchname
inner join new n on right(o.branchname,len(o.branchname)-3)=right(n.branchname,len(n.branchname)-3)
)

--select temp.branchGuid from temp
update branch set branch.branchname=temp.branchname from branch,temp  where temp.branchGuid=branch.branchGuid

问题分析,属于逻辑问题,按照update  表1 set xxx=xxx from 表1,表2 where XXX.XXX=XXX.XXX

跨数据库访问时

with temp as
(
select branchGuid, n.branchname bn,b.branchname br,right(b.branchname,len(b.branchname)-3) brname from branch b 
inner join [192.1xx.xxx.xxx].mydrp.dbo.old o on b.branchname=o.branchname
inner join [192.1xx.xxx.xxx].mydrp.dbo.new n on right(o.branchname,len(o.branchname)-3)=right(n.branchname,len(n.branchname)-3)
)

--select br,bn, temp.branchGuid from temp
update branch set branch.branchname=t.bn from branch,temp t where t.branchGuid=branch.branchGuid

此处如果将t.bn换为t.branchname会报错(无法绑定由多个部分组成的标识符 )

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值