Given a table-valued function such as dbo.Split() from "T-SQL: Opposite to string concatenation - how to split string into multiple records", how do I pass multiple rows as arguments?
This works:
SELECT *
FROM dbo.Split
  (',', (SELECT myColumn FROM Stuff WHERE id = 22268))
WHERE ISNULL(s,'') <> ''
It returns:
pn          s
----------- -----------
1           22351
2           22354
3           22356
4           22357
5           22360
But this does not:
SELECT *
FROM dbo.Split
  (',', (SELECT myColumn FROM Stuff))
WHERE ISNULL(s,'') <> ''
Nor does this:
SELECT * FROM dbo.Split_temp(',', myColumn), Stuff
The docs say:
When a user-defined function that returns a table is invoked in the FROM clause of a subquery, the function arguments cannot reference any columns from the outer query.
The sort of result set I'm looking for would look something like:
id          pn          s
----------- ----------- -----------
22268       1           22351
22268       2           22354
22268       3           22356
22268       4           22357
22268       5           22360
24104       1           22353
24104       2           22355
24104       3           22356
24104       4           22358
24104       5           22360
24104       6           22362
24104       7           22364
.
.
.
Is there any way at all (aside from, of course, a cursor) to accomplish this?
(edit)
As requested by MarlonRibunal, a sample table to produce the above result looks like:
id          myColumn
----------- -------------------------------------------
22268       22351,22354,22356,22357,22360,
24104       22353,22355,22356,22358,22360,22362,22364,
id is an int; myColumn is a varchar(max).