2014-03-19 5 views
6

아마도이 질문은 중복됩니다. 여기 상황이열에 따라 mysql- 여러 테이블에 참여하십시오.

테이블 m_groups에서

및 m_group_admin .. 내가 질문을 넣어 그 이유는 다른

쿼리 위
select m_groups.GROUP_CREATOR_ID as GROUP_ADMIN 
from m_groups where m_groups.GROUP_ID='6' 
union 
select m_group_admin.GROUP_ADMIN from m_group_admin 
where m_group_admin .GROUP_ID='6'; 

내가 사용자 ID, 이름이 필요

| GROUP_ADMIN | 
--------------- 
    4 
    8 
    2 

같은 열을 반환, 마지막 위의 출력에 대한 m_user_info 테이블의 이름 (m_user_info.USER_ID, m_user_info.FIRST_NAME, m_user_info.LAST_NAME)

이 출력은 다음과 같습니다.

| USER_ID |  |FIRST_NAME|  |LAST_NAME | 
    -----------  -------------  ------------ 
    4    ferdous    wahid 
    8    sumon     sumon 
    2    rahul     paul 
+1

이러한 테이블에 샘플 데이터를 표시 할 수 있다면 더 나은 성능을 위해 쿼리를 최적화 할 수 있기를 바랍니다. –

답변

2

이 시도 :

SELECT USER_ID,FIRST_NAME,LAST_NAME 
FROM m_user_info 
WHERE USER_ID IN 
(select m_groups.GROUP_CREATOR_ID as GROUP_ADMIN 
from m_groups where m_groups.GROUP_ID='6' 
union 
select m_group_admin.GROUP_ADMIN from m_group_admin 
where m_group_admin .GROUP_ID='6';) 

설명 :

그것은 당신이 가지고 한 ID를 가진 사용자 테이블에서 USER_ID, FIRST_NAME과 LAST_NAME을 선택합니다.

+1

감사합니다 sir @Raging Bull .... 작동 중입니다. 내 실수는 내가 사용 = IN을 사용하는 것입니다. 다시 한 번 감사드립니다 ..... –

관련 문제