我的要求是从表中传递phonenumbers
列表,我需要的输出是获取phonenumber
列和IsMobile
列。
我的proc逻辑应该是:当我将phonenumber
列传递给存储过程时,它应该检查具有列table B
的其他MobileNumbers
(其中包含移动号码数据库) 。
如果传递的phonenumber
与table B
中的列表匹配,那么我需要标记Ismobile
列'1'
,如果传递的电话号码不在{{1}然后table B
。
这是源表示例
现在我有另一张表B(手机号码列表)
当我将源表'0'
列作为输入传递并在phoneNumber
中找到任何匹配项时,我需要标记为1。
这是我希望我的存储过程的返回值必须是
请帮我处理存储过程
提前致谢。
答案 0 :(得分:2)
这是一种方法:
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;
在我看来,没有理由将其作为存储过程。如果要使用名称封装此逻辑,则可以创建视图或内联表函数。