Changed sql
This commit is contained in:
parent
ea85c80a5b
commit
ed2bba47e3
@ -56,16 +56,25 @@ class CRM_ConstituentsOnly_BAO_Query extends CRM_Contact_BAO_Query_Interface {
|
||||
|
||||
if (CRM_Utils_Array::value('civicrm_contact', $query->_tables) && empty($query->_paramLookup['do_not_trade'])) {
|
||||
$query->_where[0][] = "
|
||||
contact_a.id NOT IN (SELECT contact_a.id
|
||||
FROM civicrm_contact contact_a
|
||||
LEFT JOIN civicrm_relationship cr
|
||||
ON (cr.contact_id_a = contact_a.id OR cr.contact_id_b = contact_a.id)
|
||||
AND cr.is_active = 1
|
||||
LEFT JOIN civicrm_contact cc1
|
||||
ON (cr.contact_id_a = cc1.id OR cr.contact_id_b = cc1.id)
|
||||
AND contact_a.id <> cc1.id AND cr.is_active = 1
|
||||
WHERE contact_a.do_not_trade = 1 AND (cr.id IS NULL OR cc1.is_deleted = 1 OR cc1.do_not_trade = 1)
|
||||
GROUP by contact_a.id
|
||||
contact_a.id NOT IN (SELECT id FROM (
|
||||
SELECT contact_a.id
|
||||
FROM civicrm_contact contact_a
|
||||
LEFT JOIN civicrm_relationship cr
|
||||
ON (cr.contact_id_a = contact_a.id)
|
||||
AND cr.is_active = 1
|
||||
LEFT JOIN civicrm_contact cc1
|
||||
ON (cr.contact_id_a = cc1.id)
|
||||
WHERE contact_a.do_not_trade = 1 AND (cr.id IS NULL OR cc1.is_deleted = 1 OR cc1.do_not_trade = 1)
|
||||
UNION
|
||||
SELECT contact_a.id
|
||||
FROM civicrm_contact contact_a
|
||||
LEFT JOIN civicrm_relationship cr
|
||||
ON (cr.contact_id_b = contact_a.id)
|
||||
AND cr.is_active = 1
|
||||
LEFT JOIN civicrm_contact cc1
|
||||
ON (cr.contact_id_b = cc1.id)
|
||||
WHERE contact_a.do_not_trade = 1 AND (cr.id IS NULL OR cc1.is_deleted = 1 OR cc1.do_not_trade = 1)
|
||||
) AS temp GROUP BY id
|
||||
)
|
||||
";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user