declare @list nvarchar(1000)
set @list = '''456456Test2814557616'',''456456Test6005645184'''
declare @num int,
@sqls nvarchar(4000)
set @sqls='
select @a=sum(iCash)
from (
select substring(cardid,7,4)CardTypeId,* from t_INPWalletDetail
where cardid in ('+ @list +')
) card
left outer join
t_INServiceCardToiCash rate
on card.CardTypeId = rate.CardTypeId
'
exec sp_executesql @sqls,N'@a int output',@num output --后边定义的@num是输入变量,@a不用定义
select @num
博客展示了一段SQL代码,通过声明变量存储卡片ID列表,构建SQL查询语句,将特定卡片信息与服务卡现金表关联,使用sp_executesql执行动态SQL,最终统计符合条件卡片的现金总和并输出结果。

262

被折叠的 条评论
为什么被折叠?



