1

我正在使用 SQL,我似乎无法终生解决这个问题。

我的存储过程中有一个名为@curType. 我有两张桌子,DTXR 和 DP。DP 包含列typeprogramID。DTXR 包含列programIDQEI。存储过程被传递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。如果我像这样手动设置程序ID,它会起作用:

select @curType = [Type] from DP Where DP.ProgramId = 120

但是 join 语句似乎将 @curType 设置为 null。

4

2 回答 2

2

实际上,这应该有效。我会检查以确保以下内容甚至返回任何内容(如果返回,第一个结果是什么?):

   select [Type] From DP d 
   Join DTXR x on d.ProgramId = x.ProgramID
   where dtxr.QEI = @p_QEI

这应该是问题所在,因为这里有一个小提琴证明连接没有什么不同

于 2012-04-04T18:29:59.187 回答
0

WHERE由于子句,我不确定您的代码是否应该有效。国际海事组织线:

   where dtxr.QEI = @p_QEI

应该看起来像:

   where x.QEI = @p_QEI

我的第二个提示,请检查@p_QEI变量,它是否包含正确的值?

于 2012-04-04T19:07:03.350 回答