my $dbh = $me->{DBHANDLE}; my %labels; # Get all the different ids my $sql = 'SELECT DISTINCT id FROM list_index '; my $sth = $dbh->prepare($sql); $sth->execute; my $prev; while( my $hashref = $sth->fetchrow_hashref) { #keep only the latest description #more than one description will exist, the hash will only keep one key but it will be the oldest one # Get the last occurance's description my $sql2 = 'select id,description from list_index where id = "'. $hashref->{id} . '" order by rpt_key desc limit 1'; my $sth2 = $dbh->prepare($sql2); $sth2->execute; while( my $hashref2 = $sth2->fetchrow_hashref) { $labels{$hashref2->{id}} = $hashref2->{id} . ' - ' . $hashref2->{description}; } $sth2->finish; } $sth->finish; return \%labels;