diff options
author | Ivan Kohler <ivan@freeside.biz> | 2014-11-20 11:48:06 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2014-11-20 11:48:06 -0800 |
commit | d4b8e45c3589f3c6489442798f5fba439d5a29c9 (patch) | |
tree | e52a5c5a59b9d9c74fc6ab80e7f6db350732a8a8 | |
parent | a582fcff5237e93aa3d61fc639c4c766e877ccac (diff) |
optimize
-rw-r--r-- | FS/FS/cust_main/Billing_Discount.pm | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/FS/FS/cust_main/Billing_Discount.pm b/FS/FS/cust_main/Billing_Discount.pm index 9dda389f6..d437740e3 100644 --- a/FS/FS/cust_main/Billing_Discount.pm +++ b/FS/FS/cust_main/Billing_Discount.pm @@ -42,11 +42,13 @@ sub _discount_pkgs_and_bill { push @where, "part_pkg.freq = '1'"; push @where, "(cust_pkg.cancel IS NULL OR cust_pkg.cancel = 0)"; push @where, "(cust_pkg.susp IS NULL OR cust_pkg.susp = 0)"; - push @where, "0<(SELECT count(*) FROM part_pkg_discount - WHERE part_pkg.pkgpart = part_pkg_discount.pkgpart)"; + push @where, "EXISTS( SELECT 1 FROM part_pkg_discount + WHERE part_pkg.pkgpart = part_pkg_discount.pkgpart )"; push @where, - "0=(SELECT count(*) FROM cust_bill_pkg_discount - WHERE cust_bill_pkg.billpkgnum = cust_bill_pkg_discount.billpkgnum)"; + "NOT EXISTS ( + SELECT 1 FROM cust_bill_pkg_discount + WHERE cust_bill_pkg.billpkgnum = cust_bill_pkg_discount.billpkgnu: + )"; my $extra_sql = 'WHERE '. join(' AND ', @where); |