我正在使用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
但是join语句似乎是将@curType设置为null。
答案 0 :(得分:2)
实际上,这应该有效。我会检查以确保以下内容甚至可以返回任何内容(如果有,那么第一个结果是什么?):
select [Type] From DP d
Join DTXR x on d.ProgramId = x.ProgramID
where dtxr.QEI = @p_QEI
那应该是问题,如here is a fiddle proving that a join does nothing different
答案 1 :(得分:0)
由于WHERE
子句,我不确定您的代码是否可行。 IMO专线:
where dtxr.QEI = @p_QEI
应如下所示:
where x.QEI = @p_QEI
我的第二个提示,请检查@p_QEI
变量,它是否包含正确的值?