# Printing results to screen
$template->param(mainloop => $results);
output_html_with_http_headers $input, $cookie, $template->output;
- exit(1);
+ exit;
} else {
# Printing to a csv file
print $input->header(-type => 'application/vnd.sun.xml.calc',
print $sep.$col->{totalcol};
}
print $sep.@$results[0]->{total};
- exit(1);
+ exit;
}
# Displaying choices
} else {
$colorder .= $column;
my $strsth2;
- $strsth2 .= "select distinctrow $colfield FROM borrowers LEFT JOIN `old_issues` USING(borrowernumber)";
+ $strsth2 .= "select distinct $colfield FROM borrowers WHERE 1";
if ($colfilter[0]) {
$colfilter[0] =~ s/\*/%/g;
$strsth2 .= " and $column LIKE '$colfilter[0]' " ;
$strcalc .= "WHERE 1 ";
@$filters[0]=~ s/\*/%/g if (@$filters[0]);
$strcalc .= " AND borrowers.categorycode like '" . @$filters[0] ."'" if ( @$filters[0] );
- my $strqueryfilter = "SELECT DISTINCT borrowernumber FROM old_issues WHERE borrowernumber IS NOT NULL ";
- if (@$filters[1]){
- my $strqueryfilter .= "AND old_issues.timestamp> @$filters[1] ";
- }
- $strcalc .= " AND borrowers.borrowernumber not in ($strqueryfilter)";
+
+ $strcalc .= " AND NOT EXISTS (SELECT * FROM issues WHERE issues.borrowernumber=borrowers.borrowernumber ";
+ $strcalc .= " AND issues.timestamp> '" . @$filters[1] . "'" if (@$filters[1]);
+ $strcalc .= ") ";
+ $strcalc .= " AND NOT EXISTS (SELECT * FROM old_issues WHERE old_issues.borrowernumber=borrowers.borrowernumber ";
+ $strcalc .= " AND old_issues.timestamp> '" . @$filters[1] . "'" if (@$filters[1]);
+ $strcalc .= ") ";
$strcalc .= " group by borrowers.borrowernumber";
$strcalc .= ", $colfield" if ($column);
$strcalc .= " order by $colfield " if ($colfield);