0
我試圖做兩個表之間的連接,但我收到此錯誤SQL Server 2008中 - 不明確的列名
不明確的列名 'NurseWard'
代碼:
select
@WardID = NurseWard
from
dbo.NurseTbl as o
inner join
inserted as i on o.NurseID = i.NurseID
我試圖做兩個表之間的連接,但我收到此錯誤SQL Server 2008中 - 不明確的列名
不明確的列名 'NurseWard'
代碼:
select
@WardID = NurseWard
from
dbo.NurseTbl as o
inner join
inserted as i on o.NurseID = i.NurseID
這看起來像觸發器中的inserted
table。 inserted
表具有與原始表相同的列名稱。來自鏈接的文章:
插入的表在INSERT 和UPDATE語句中存儲受影響的行的副本。在插入或更新事務期間,新插入的表和觸發器表中都會添加新的 行。插入表中的 行是觸發器 表中新行的副本。
查詢對NurseTbl
和inserted
表都一個別名,inner join
使用別名,但select
沒有。您將需要一個別名在select
添加到NurseWard
列:
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
你可能有兩個你'NurseTbl'和'inserted'表中的列'NurseWard'。在具有所需值的表格前面加上select。 –
無論如何,你應該總是引用每一列與別名。它清楚地表明瞭價值來源於哪個表格,並避免了像這樣的問題。 –