Это похоже на inserted
table в триггере. Таблица inserted
имеет те же имена столбцов, что и исходная таблица. Из связанного товара:
Вставленная таблица хранит копии затронутых строк во время INSERT и операторов UPDATE. Во время транзакции вставки или обновления новые строки добавляются как в вставленную таблицу, так и в таблицу триггеров. Строки в вставленной таблице являются копиями новых строк в триггере .
Запрос имеет псевдоним на обеих таблицах 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
Вы, наверное, есть столбец 'NurseWard' в обоих ваших' 'NurseTbl' и inserted' таблиц. Предисловие select с таблицей, которая имеет значение, которое вы хотите. –
Вы всегда должны ссылаться на каждый столбец с псевдонимом. Это дает понять, из какой таблицы вытекает ценность, и позволяет избежать таких проблем. –