First, in that SQL, how are you joining the tables? You never specify....
Next, distinct works on the first selection. So you are getting distinct ID's. Look at it in this syntax
SELECT DISTINCT profile.id,
profile.name,
profile.email,
profile.company,
type.newsletter
FROM email_newsletter profile, email_types type
WHERE profile.unsubscribed=0
AND profile.industry=type.reference
AND profile.name LIKE '%Jim%Jeffers%'
That's what it will look for. So you may want to flip your distinct to choose maybe distinct email?
SELECT DISTINCT profile.email,
profile.id,
profile.name,
profile.company,
type.newsletter
FROM email_newsletter profile, email_types type
WHERE profile.? = type.?
AND profile.unsubscribed=0
AND profile.industry=type.reference
AND profile.name LIKE '%Jim%Jeffers%'