1

我有一个存储过程,它接受以逗号分隔的 ID 字符串作为参数

我有一个名为 Split 的 UDF,然后将其拆分并作为表返回

在我的查询中,我从另一个以逗号分隔的 ID 字符串的视图返回一个值

在我的 Where 语句中,我基本上想说

WHERE dbo.Split(@inputstring) IN dbo.Split(view.ViewString)

并且只返回我的输入字符串中的值存在于我的视图字符串中的行

我怎样才能最好地做到这一点?

4

1 回答 1

2

@inputstring如果列表中至少有一个 ID,我想您需要选择一行view.ViewString?如果是这样,那么:

WHERE EXISTS (select ID 
                 from dbo.Split(@inputstring) t1 
                      inner join dbo.Split(view.ViewString) t2 on (t1.id=t2.id))
于 2012-12-12T13:07:00.717 回答