2015-10-19 6 views
-5

Я пытаюсь вытащить 3 телефонные книги на основе использования USER ID как 4, а идентификатор компании - 4. Мой текущий запрос, кажется, тянет их несколько раз. Как я могу заставить его вытащить только 3 записи один раз?MySQL Query LEFT JOIN 5 таблиц

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' 

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

+2

Почему фотографии, а не только текст – Drew

+0

Фотографии были более легкими –

+0

Я думаю, что не ставить sqlfiddle вместе было проще :) – Drew

ответ

1
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'