SELECT
person.bu_id,
key.key_val,
obj_person_add.person_contact_freq,
obj_person_add.person_contact_best,
OBJ_PERSON_ADD.PERSON_CONTACT_INST,
OBJ_PERSON_ADD.PERSON_CONTACT_DATE,
OBJ_PERSON_ADD.PERSON_BROCHURES,
OBJ_PERSON_ADD.PERSON_NEWSLETTER
FROM obj_person person
INNER JOIN obj_person_add
ON person.obj_id = obj_person_add.obj_id
LEFT JOIN obj_rel_key key
ON key.obj_id = person.obj_id
WHERE person.bu_id in (6,7)
AND person.close_date IS NULL
AND key.obj_key_id = 806
AND (
obj_person_add.person_contact_freq IS NOT NULL
OR obj_person_add.person_contact_best IS NOT NULL
OR OBJ_PERSON_ADD.PERSON_CONTACT_INST IS NOT NULL
OR OBJ_PERSON_ADD.PERSON_CONTACT_DATE IS NOT NULL
OR OBJ_PERSON_ADD.PERSON_BROCHURES IS NOT NULL
OR OBJ_PERSON_ADD.PERSON_NEWSLETTER IS NOT NULL
);
I have built this query, however person_brochures and person_newsletters are stored in a var array. This means that they return (6172,6544...) for example. I want to do a left join to match the ID's in the var array to a name in a different table.
Do I have to loop the var array and somehow match the ID's then?