push @extra_fields, FS::cust_main->balance_sql . " AS current_balance";
}
- push @extra_fields, 'part_referral.referral AS referral'
+ push @extra_fields, 'part_referral_x.referral AS referral'
if grep { $_ eq 'referral' } @cust_fields;
map("cust_main.$_", @fields), @location_fields, @extra_fields;
}
if ( !@cust_fields or grep { $_ eq 'referral' } @cust_fields ) {
- $sql .= ' LEFT JOIN part_referral ON (cust_main.refnum = part_referral.refnum) ';
+ $sql .= ' LEFT JOIN (select refnum, referral from part_referral) AS part_referral_x ON (cust_main.refnum = part_referral_x.refnum) ';
}
$sql;
# always make referral available in results
# (maybe we should be using FS::UI::Web::join_cust_main instead?)
- $addl_from .= ' LEFT JOIN part_referral ON (cust_main.refnum = part_referral.refnum) ';
+ $addl_from .= ' LEFT JOIN (select refnum, referral from part_referral) AS part_referral_x ON (cust_main.refnum = part_referral_x.refnum) ';
my $count_query = "SELECT COUNT(*) FROM cust_main $addl_from $extra_sql";
' LEFT JOIN cust_location AS '.$pre.'location '.
'ON (cust_main.'.$pre.'locationnum = '.$pre.'location.locationnum) ';
}
+ # always make referral available in results
+ # (maybe we should be using FS::UI::Web::join_cust_main instead?)
+ $addl_from .= ' LEFT JOIN (select refnum, referral from part_referral) AS part_referral_x ON (cust_main.refnum = part_referral_x.refnum) ';
my $count_query = "SELECT COUNT(*) FROM cust_payby $addl_from $extra_sql";