Mysql запрос JOIN запрос, получая тот же столбец, сравнивая id с request1 и и request2 - PullRequest
1 голос
/ 08 февраля 2012
select pr.REQUEST_ID, pr.REQUESTER_ID, pr.REQUEST_SUBJECT, pr.REQUEST_TO, pr.DOMAIN_ID,pr.SUB_DOMAIN_ID, do.domain_name, sd.sub_domain_name, ud.user_first_name, d.user_last_name 
from professional_requests as pr 
  INNER JOIN domain as do 
    ON do.domain_id=pr.DOMAIN_ID 
  INNER JOIN subdomain as sd 
    ON sd.sub_domain_id=pr.SUB_DOMAIN_ID 
  INNER JOIN user_details as ud 
    ON ud.user_id = pr.REQUEST_TO 
       ud.user_id = pr.REQUESTER_ID 
where pr.IS_ACTIVE='1' 
limit 0, 10

Мне нужно вынуть user_first_name и user_last_name из таблицы user_details дважды по сравнению с user_details.user_id = professional_requests.REQUEST_TO и user_details.user_id = professional_requests.REQUESTER_ID

Проблема в том, что я могу получить только user_first_name, user_last_name изREQUEST_TO, я не могу получить их REQUESTER_ID.

1 Ответ

0 голосов
/ 08 февраля 2012

Вам нужно еще одно присоединение к таблице user_details:

SELECT pr.REQUEST_ID, pr.REQUESTER_ID, pr.REQUEST_SUBJECT, pr.REQUEST_TO, pr.DOMAIN_ID,pr.SUB_DOMAIN_ID, do.domain_name, sd.sub_domain_name
     , ud1.user_first_name  AS request_TO_first_name
     , ud1.user_last_name   AS request_TO_last_name
     , ud2.user_first_name  AS requester_ID_first_name
     , ud2.user_last_name   AS requester_ID_last_name
FROM professional_requests AS pr 
  INNER JOIN domain AS do 
    ON do.domain_id=pr.DOMAIN_ID 
  INNER JOIN subdomain AS sd 
    ON sd.sub_domain_id=pr.SUB_DOMAIN_ID 
  INNER JOIN user_details AS ud1 
    ON ud1.user_id = pr.REQUEST_TO 
  INNER JOIN user_details AS ud2 
    ON ud2.user_id = pr.REQUESTER_ID 
WHERE pr.IS_ACTIVE='1' 
LIMIT 0, 10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...