如何在SQLServer中编写存储过程,从表中输入一列并返回相同的列和标志列
我的要求是从表中传递如何在SQLServer中编写存储过程,从表中输入一列并返回相同的列和标志列,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我的要求是从表中传递phonenumber列表,我需要的输出是返回phonenumber列和IsMobile列 我的过程逻辑应该是:当我将phonenumber列传入存储过程时,它应该与其他表B中包含列MobileNumbers(其中包含移动号码数据库)的表B进行检查 如果传递的phonenumber与表B中的列表匹配,则我需要标记Ismobile列'1',如果传递的电话号码不在表B中,则'0' 下面是源表示例 现在我有了另一个表B(这是手机号码列表) 当我将源表phoneNumber列作为
phonenumber
列表,我需要的输出是返回phonenumber
列和IsMobile
列
我的过程逻辑应该是:当我将phonenumber
列传入存储过程时,它应该与其他表B
中包含列MobileNumbers
(其中包含移动号码数据库)的表B进行检查
如果传递的phonenumber
与表B
中的列表匹配,则我需要标记Ismobile
列'1'
,如果传递的电话号码不在表B
中,则'0'
下面是源表示例
现在我有了另一个表B(这是手机号码列表)
当我将源表phoneNumber
列作为输入传递,并在表B
中找到任何匹配项时,我需要标记为1
下面是我希望存储过程的返回值必须是
请帮我处理存储过程
提前感谢。这里有一种方法:
select s.*,
(case when exists (select 1 from mobiles m where s.phonenumber = m.mobilenumber)
then 1 else 0 end) as HasMobile
from source s;
在我看来,没有理由将其作为存储过程。如果您想用名称封装此逻辑,可以创建视图或内联表函数。那么您尝试了什么?这是一个非常清楚且说明充分的问题,但没有显示任何研究成果。