|
Posted by Erland Sommarskog on 10/01/63 11:17
coosa (coosa76@gmail.com) writes:
> I have some data that need to be filtered based on a SET of Id's.
> If it's about a single ID, then i would pass it as a parameter in a
> stored procedure and use it within the the WHERE Clause, but here those
> ID's are determined in run time and I can't simply create a a stored
> procedure for an unknown amount of ID's.
> I looked into the SQL Server 8.0 Manual but had no examples how to use
> the Function Filter.
> Generaly, how can filter some records based on a set of ID's?
FROM tbl t
JOIN iter_intlist_to_tbl(@list_of_ids, DEFAULT) f ON t.id = f.number
iter_intlist_to_tbl is table-valued function that unpacks a space-
separared list of integers into table which you then join with.
Code at http://www.sommarskog.se/arrays-in-sql.html#iter-list-of-integers.
The rest of the article provides more discussion about this kind of problem.
--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server SP3 at
http://www.microsoft.com/sql/techinfo/productdoc/2000/books.asp
[Back to original message]
|