2014-03-19 57 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'; 

上面的查詢返回類似

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

我需要的用戶ID,名字一欄,最後名稱(m_user_info.USER_ID,m_user_info.FIRST_NAME,m_user_info.LAST_NAME)來自表m_user_info以上輸出

我需要這樣的輸出

| 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';) 

說明:

它會從用戶表,你得到了IDS選擇USER_ID,FIRST_NAME和last_name。

+1

謝謝先生@Raging Bull ....它的工作。我的錯誤是我使用=你使用IN。再次感謝..... –