mysql联合查询

时间:2011-01-07 11:51:18

标签: php 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”表的用户,其中包含来自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 个答案:

答案 0 :(得分: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