我正在尝试在两个表之间进行连接,但我收到此错误
不明确的列名'NurseWard'
代码:
select
@WardID = NurseWard
from
dbo.NurseTbl as o
inner join
inserted as i on o.NurseID = i.NurseID
答案 0 :(得分:3)
这看起来像触发器中的inserted
table。 inserted
表与原始表具有相同的列名。来自链接的文章:
insert表在INSERT期间存储受影响行的副本 和UPDATE语句。在插入或更新事务期间,新的 行被添加到插入的表和触发器表中。该 inserted表中的行是触发器中新行的副本 表
查询在NurseTbl
和inserted
表中都有别名,inner join
使用别名,但select
没有。您需要在NurseWard
:
select
列中添加别名
select @WardID = o.NurseWard -- or i.NurseWard depending on what you need
from dbo.NurseTbl as o
inner join inserted as i on
o.NurseID = i.NurseID