简体   繁体   中英

MySQL Query LEFT JOIN 5 tables

I am trying to pull 3 phonebooks based on using the USER ID as 4 and the COMPANY ID being 4. My current query seems to be pulling them several times. How can I get it to pull just the 3 records once?

SELECT 
  users.ID, 
  ownership_company_managers.*,
  company_user.*, 
  phonebook_list.*,
  ownership_phonebook.*
FROM users LEFT JOIN
(
    phonebook_list, ownership_phonebook, ownership_company_managers, company_user) ON (
     users.ID=ownership_company_managers.USER_ID 
     AND ownership_company_managers.USER_ID=ownership_company_managers.COMPANY_ID 
     AND ownership_company_managers.COMPANY_ID=company_user.COMPANY_ID 
     AND company_user.USER_ID=company_user.COMPANY_ID
)
WHERE users.ID='4'

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

SELECT users.ID, ownership_company_managers.*, company_user.*, 
       phonebook_list.*, ownership_phonebook.*

FROM users 
LEFT JOIN phonebook_list ON users.ID = ownership_company_managers.USER_ID
LEFT JOIN ownership_phonebook ON ... , 
LEFT JOIN ... 
LEFT JOIN ...

WHERE users.ID='4'

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM