我正在使用SQL,而且我似乎无法弄清楚我的生活。使用连接语句从表中分配一个局部变量
我的存储过程中有一个局部变量@curType
。我有两张桌子,DTXR和DP。 DP包含列type
和programID
。 DTXR包含列programID
和QEI
。存储过程通过QEI
,我需要从表DP获取type
,并将其分配给本地变量@curType
。
所以,我现在有
select @curType = [Type] From DP d
Join DTXR x on d.ProgramId = x.ProgramID
where x.QEI = @p_QEI.
@p_QEI是传递到存储过程中的变量。
我正在运行的问题是这似乎没有设置@curType。它工作,如果我手动设置这样的程序ID:
select @curType = [Type] from DP Where DP.ProgramId = 120
但是,联合声明似乎是将@curType设置为null。
您确定只有一个记录最小DP与dtxr上的记录相匹配吗?我相信@curType的价值将成为它遇到的第一个记录,这可能不是您期望的记录。 – 2012-04-04 18:30:54