如何编写存储过程以使用函数选择特定列

时间:2012-08-01 18:48:11

标签: sql sql-server-2008 stored-procedures

我有两张桌子

tblSTATUS
   StatusID|PlanID|Description|EmailSubject|EmailFrom|EmailTo||Comment
     1        8    Approved                                aaa
     2        7    Rejected                                bbb
     3        7    Rejected                                ccc
     4        42   Rejected                                ccc

tblSTATUSREASON
     PlanID|REASONS 
       7      failed
       7      not eligible
       42     not eligible

当我向他人发送电子邮件时(如果他们的计划被拒绝),它会在表tblstatusreason中存储拒绝的原因和使用的PlanID,这取决于tblStatus

我应该使用存储过程检索网格视图C#代码中的evrything并根据描述将其显示给用户。

现在我的问题是我可以检索并显示所有其他列,但我不知道如何显示rReasons所以我想select [REASONS] from tblSTATUSREASON哪里为那个particluar description = rejected from tblSTATUS而且我也不想改变我的表/ columns。我需要sql存储过程来处理这个特殊的事情

1 个答案:

答案 0 :(得分:0)

你还需要

select R.PlanID,REASONS
FROM tblSTATUSREASON R
INNER JOIN tblSTATUS S
ON R.PlanID = S.PlanID
AND description = 'rejected'