【发布时间】:2019-11-07 16:22:12
【问题描述】:
我收到错误消息“无法绑定多部分标识符“T.stdID”。”用于以下 t-sql 查询。
如果 update 被 select...from... 替换,其中 T.stdID = ...,则 T.stdID 为 有界没有任何问题;但是,它不限于更新的部分!
with T as
(select ID as stdID, sum(credits) as crd
from takes, course
where takes.course_id = course.course_id
group by ID)
update student
set
tot_cred = T.crd
where
student.ID = T.stdID
消息 4104,第 16 级,状态 1,第 125 行 无法绑定多部分标识符“T.stdID”。
完成时间:2019-11-06T19:37:49.3354478+02:00
【问题讨论】:
-
因为 cte 只是一个内联视图。为了从 cte 访问值,您需要加入 cte。您还需要停止使用过时的连接语法。 ANSI-92 语法已经存在超过 25 年了。 sqlblog.org/2009/10/08/bad-habits-to-kick-using-old-style-joins
标签: sql-server tsql sql-update