From d4b8e45c3589f3c6489442798f5fba439d5a29c9 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Thu, 20 Nov 2014 11:48:06 -0800 Subject: [PATCH] optimize --- FS/FS/cust_main/Billing_Discount.pm | 10 ++++++---- 1 file 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); -- 2.11.0