x_mapping xkey min_x max_x 1 -9999 1 2 1 3.3 y_mapping ykey min_y max_y 1 -9999 2.5 1 2 2.5 3.5 #### my $xkey = $dbh->selectrow_array("SELECT xkey FROM x_mapping WHERE min_x <= ? AND ? < max_x", {}, $x, $x ); my $ykey = $dbh->selectrow_array("SELECT ykey FROM y_mapping WHERE min_y <= ? AND ? < max_y", {}, $y, $y ); #### x_mapping xkey max_x 1 1.0 2 3.3 y_mapping ykey max_y 1 2.5 2 3.5 my $xkey = $dbh->selectrow_array("SELECT xkey FROM x_mapping WHERE ? < max_x ORDER BY max_x ASC LIMIT 1", {}, $x ); my $ykey = $dbh->selectrow_array("SELECT ykey FROM y_mapping WHERE ? < max_y ORDER BY max_y ASC LIMIT 1", {}, $y );