2011-01-07 73 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