On Fri, 24 Jul 2009 14:10:58 +0300, Fred Jones wrote: > What I really want, however, is to get all contacts which do NOT have > a tag where the tag name is: > > civicrm_tag.name LIKE "%Primary%" OR civicrm_tag.name LIKE "%Secondary%" SELECT civicrm_contact.id, COUNT(civicrm_entity_tag.tag_id) FROM civicrm_contact LEFT JOIN civicrm_entity_tag ON civicrm_entity_tag.contact_id = civicrm_contact.id LEFT JOIN civicrm_tag ON civicrm_tag.id = civicrm_entity_tag.tag_id WHERE civicrm_tag.name NOT LIKE "%Primary%" AND civicrm_tag.name NOT LIKE "%Secondary%" GROUP BY civicrm_contact.id This should work in MySQL, not sure about PostgreSQL but I don't see why not. -- Raoul Snyman, B.Tech IT (Software Engineering) Saturn Laboratories e: raoul.snyman at saturnlaboratories.co.za w: http://www.saturnlaboratories.co.za/ b: http://blog.saturnlaboratories.co.za/ http://raoulsnyman.co.za/