sql中查询语句in条件里面,是函数。

--创建临时表
create table #tb(id varchar(500))
insert into #tb select dbo.f_Get_AllQybm(@qybm)--dbo.f_Get_AllQybm 是函数

--查询记录
declare @a nvarchar(500),@b nvarchar(500);
select  @b=id from #tb;
set @a='SELECT ROW_NUMBER() OVER(ORDER BY JLRQ DESC) AS RowNumber,* 
FROM XM_GoodBehavior
where QYBM in ('+@b+')';
SET NOCOUNT ON
exec(@a)
--删除临时表
drop table #tb


以上代码是写在存储过程中的(SET NOCOUNT ON 这句话是为了在finereport报表中使用添加的),创建一个临时表,将查询满足dbo.f_Get_AllQybm函数的值放入临时表,将临时表中的id列给变量@b。

原文地址:https://www.cnblogs.com/hllxy/p/7421526.html