Richard> Hello All, I ussually iterate a hash that is the result of Richard> $rows_ref = $sth->fetchall_hashref('ID'); in my template Richard> with <% FOREACH ID Matched_pats.keys.sort %>. However, In Richard> this case though the template only displays one row because Richard> each resulting row in the SQL query all have the same ID Richard> number. Is there any simple change I can make to get the Richard> results to fully iterate? What you generally need to do in this case is do multiple queries, or you need to redo your structure so that you key off something else. For example, if each user can have one or more charities, you want to print out something like: User: John Charity: RedCross NPR Station Local Park Big Park across county User: Richard Charity: Dancer User: Bob User: Steve Charity: RedCross So youre temply would loop over the users, then over the charity field for each user. It's the One->Many relationship printing. The inefficient way is to do a select for all the users, then a query per-user for each charity they have. Or as you've shown, doing a big join also works. But when you want to paginate your results, doing a limit as early as possible might make alot of sense to save crawls through the DB. So the template would do something like: <% FOREACH NAME .... %> User: <% name %> <% FOREACH Charity NAME->.... %> Charity: <% Charity %> <% END %> <% END %> But my syntax is completly off since I don't know TT off the top of my head. John