Table1: act1 | act2 | act3 | act4 _________________________ 1,2 | 3,2 | 6 | 2,8 Table2: id | name _________ 1 | foo 2 | bar 3 | this 6 | that 8 | hey #### 1 : act1 2 : act1, act2, act4 3 : act2 6 : act3 8 : act4 #### $req_cert_info->execute("$TRANS_ID") or dienice("344 Couldn't execute statement $TRANS_ID : " . $get_info->errstr); my %seen; while ( my $ref = $req_cert_info->fetchrow_hashref ) { foreach my $key ( keys %$ref ) { next if ( $key eq "TRANS_ID" ); if ( $ref->{$key} ) { my @prod_ids = split ",", $ref->{$key}; foreach my $prodid ( @prod_ids ) { my $prod; if ( exists $seen{$prodid} ) { $prod = $seen{$prodid}; } else { my $prod = $dbh->selectrow_array("SELECT PRODUCT FROM SC_PRODUCT WHERE PRODUCT_ID = $prodid"); push @{$seen{$prodid}}, $prod; } push @{$services{$prod}}, $key; } } } } $req_cert_info->finish; foreach my $product ( keys %services ) { print "@{$product}@{$services{$product}}checkbox"; }