SQL Server 2008 - 不明确的列名

时间:2016-02-08 17:22:40

标签: sql-server sql-server-2008

我正在尝试在两个表之间进行连接,但我收到此错误

  

不明确的列名'NurseWard'

代码:

select 
    @WardID = NurseWard
from 
    dbo.NurseTbl as o
inner join 
    inserted as i on o.NurseID = i.NurseID

1 个答案:

答案 0 :(得分:3)

这看起来像触发器中的inserted tableinserted表与原始表具有相同的列名。来自链接的文章:

  

insert表在INSERT期间存储受影响行的副本   和UPDATE语句。在插入或更新事务期间,新的   行被添加到插入的表和触发器表中。该   inserted表中的行是触发器中新行的副本   表

查询在NurseTblinserted表中都有别名,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