Я работаю с SQL, и я не могу понять, что это для меня.Назначение локальной переменной из таблицы с использованием оператора объединения
У меня есть локальная переменная в моей хранимой процедуре, называемой @curType
. У меня две таблицы: DTXR и DP. DP содержит столбцы type
и programID
. DTXR содержит столбцы programID
и QEI
. Хранимая процедура передается QEI
, и мне нужно получить type
из таблицы DP и назначить ее локальной переменной @curType
.
Итак, я в настоящее время
select @curType = [Type] From DP d
Join DTXR x on d.ProgramId = x.ProgramID
where x.QEI = @p_QEI.
@p_QEI переменная передается в хранимую процедуру.
Проблема, с которой я столкнулся, заключается в том, что это не похоже на @curType. Это работает, если я вручную установить идентификатор программы, как это:
select @curType = [Type] from DP Where DP.ProgramId = 120
Но присоединиться заявление, кажется, установив @curType нулевое значение.
Вы уверены, что существует только одна запись мин DP, которая соответствует записи на dtxr? Я считаю, что значение @curType будет первой записью, с которой он сталкивается, что не может быть записью, которую вы ожидаете. –