2011-01-07 107 views
1

包含有關成員的信息表有類似的結構:MySQL的聯合查詢

id | fname | pic | status 
-------------------------------------------------- 
    1 |  john | a.jpg |  1 
    2 |  mike | b.jpg |  1 
    3 |  any  | c.jpg |  1 
    4 |  jacky | d.jpg |  1 

表的好友列表的樣子:

myid | date  | user 
------------------------------- 
    1 | 01-01-2011 |  4 
    2 | 04-01-2011 |  3 

我想要做一個查詢,將作爲結果從「friendlist」表打印用戶,該表包含來自「members」表中的用戶的照片和名稱,myid(添加者)和用戶(添加者)。

,在此示例表的樣子:

myid | myidname | myidpic | user | username | userpic | status 
----------------------------------------------------------------------------------- 
    1 |  john | a.jpg  | 4 | jacky | d.jpg |  1 
    2 |  mike | b.jpg  | 3 | any  | c.jpg |  1 

回答

1

這應做到:

SELECT 
    m1.id AS myid, 
    m1.fname AS myidname, 
    m1.pic AS myidpic, 
    m2.id AS user, 
    m2.fname AS username, 
    m2.pic AS userpic, 
    m1.status 
FROM 
    members m1 
     INNER JOIN friends f ON m1.id = f.myid 
     INNER JOIN members m2 ON f.user = m2.id