无法绑定多部分标识符 sql

2021-09-10 00:00:00 sql tsql sql-server

我在以下查询中得到 multipart can not be bound 错误

I get multipart can not be bound error on following query

update nfltx
set 
b.boxno = a.boxno,
b.message = a.message,
b.nameboxno = a.nameboxno,
b.namemsg = a.namemsg,
b.phoneboxno = a.phoneboxno,
b.phonemsg = a.phonemsg

FROM ofltx a JOIN nfltx b 
ON a.ls_fullnam = b.ls_fullnam

但是如果我从 boxno 消息中删除 b 并且所有我都不会收到错误消息.这背后的原因是什么.感谢您使用 sql server 2008

but if i remove b from boxno message and all i do not get the error . What is the reason behind this. Thank You using sql server 2008

推荐答案

在 FROM 子句中指定的表别名不能用作 SET column_name 中的限定符.这是无效的:

A table alias specified in a FROM clause cannot be used as a qualifier in SET column_name. This is not valid:

update nfltx
set 
b.boxno = a.boxno,
b.message = a.message,
b.nameboxno = a.nameboxno,
b.namemsg = a.namemsg,
b.phoneboxno = a.phoneboxno,
b.phonemsg = a.phonemsg

FROM ofltx a JOIN nfltx b 
ON a.ls_fullnam = b.ls_fullnam

要使其工作,请删除 b.列名的别名.

To make it work, remove the b. alias from the column name.

update nfltx
set 
boxno = a.boxno,
message = a.message,
nameboxno = a.nameboxno,
namemsg = a.namemsg,
phoneboxno = a.phoneboxno,
phonemsg = a.phonemsg

FROM ofltx a JOIN nfltx b 
ON a.ls_fullnam = b.ls_fullnam

拉杰

相关文章