trint,
You would have to open another connection to the database in order to do
this, as you couldn't do it on the one the data reader is currently acting
on.
Either that, or you could read the results into a dataset, and then
cycle through the rows.
However, the most efficient thing to do might be to flatten out the
table structure. I assume you would make a query based on the contents of
the current row. This assumes that there is a relation of some kind. It's
better to do it in the query itself, and let the DBMS handle that kind of
operation, and then just cycle through the results, noting when the
conditions on the outer groupings change.
Hope this helps.