SELECT
contacts.id AS CONTACTID,
accounts.id AS ACCOUNTID,
contacts.first_name,
contacts.last_name,
contacts.phone_work,
contacts.phone_fax,
contacts.department,
contacts.title,
contacts.description,
contacts.salutation,
email_addresses.email_address,
contacts.deleted
FROM
contacts
INNER JOIN accounts_contacts
ON contacts.id = accounts_contacts.contact_id
JOIN accounts
ON accounts.id = accounts_contacts.account_id
INNER JOIN email_addr_bean_rel EABR
ON contacts.id = EABR.bean_id
INNER JOIN email_addresses EM
ON EABR.email_address_id = EM.id
WHERE
contacts.first_name = 'shamraiz'
Podobnie jak w przypadku innych pytań, w których Ci pomogłem...
Wymień jedną tabelę na raz, INNER JOIN (lub LEFT JOIN) do następnej tabeli "ON" niezależnie od kryteriów, z którymi te dwie tabele się odnoszą... Następnie INNER JOIN (lub LEFT JOIN) do następnej tabeli w hierarchii relacji.
Jeśli masz wiele rekordów kontaktów dla tej samej osoby, takich jak różne konta i/lub e-maile, otrzymasz wiele rekordów.