3 Table MySQL 加入查询?

3 Table MySQL JOIN Query?

此 MYSQL 查询从 SugarCRM 数据库中获取用户

SELECT * FROM `users`

我使用此 MySQL 查询从 SugarCRM 数据库中获取用户的电子邮件地址...

SELECT email_address FROM `email_addr_bean_rel`
LEFT JOIN `email_addresses` ON `email_addresses`.id = `email_addr_bean_rel`.email_address_id
WHERE `bean_id` LIKE '1' 
AND `bean_module` LIKE 'Users'
AND `email_addresses`.deleted = 0
AND primary_address = 1

我需要帮助构建一个 SQL 查询以加入这些,因为我的目标是在 SugarCRM 数据库中构建所有用户的用户列表,并将主要电子邮件地址作为用户数据的一部分。

在电子邮件 SQL 上面的部分 WHEREbean_idLIKE '1' 中,数字 1 是来自用户 table.[=17 的用户 ID =]

id 列应该用于将用户 table 加入此电子邮件 SQL。

有什么帮助吗?

SELECT users.*
      ,email_address
 FROM users
      LEFT JOIN email_addr_bean_rel
             ON email_addr_bean_rel.bean_d=users.id
            AND email_addr_bean_rel.bean_module = 'Users'
            AND email_addr_bean_rel.primary_address = 1
            AND email_addr_bean_rel.deleted = 0
      LEFT JOIN email_addresses
             ON email_addresses.id = email_addr_bean_rel.email_address_id
            AND email_addresses.deleted = 0

试试这个

    SELECT u.*, ea.email_address
    FROM users AS u
    INNER JOIN email_addr_bean_rel AS eab ON (eab.bean_id = u.id AND eab.bean_module = 'Users' AND eab.primary_address = 1)
    INNER JOIN email_addresses AS ea ON (ea.id = eab.email_address_id AND ea.deleted = 0)
GROUP BY u.id