PHP MySQL запрос JOIN HELP - PullRequest
2 голосов
/ 20 мая 2011

Привет всем.Итак, я создаю такой вид сценария социальной сети для моего проекта, и мне нужно, чтобы он отображал ленту новостей, похожую на ленту Facebook, то есть отображал сообщения ваших друзей и ваши собственные сообщения ... но с моимТехника, в которой отображаются только сообщения друзей.

Мой запрос следующий:

SELECT 
                * 
            FROM 
                ajee_friends
            JOIN
                ajee_wall
            ON
                ajee_friends.fid = ajee_wall.uid
            WHERE 
                ajee_friends.uid = '$this->uid'

Ответы [ 3 ]

5 голосов
/ 20 мая 2011

Если вам нужна стена ваших друзей и ваших собственных, это можно сделать (на мой взгляд, более читабельно в качестве подвыбора):

SELECT *
  FROM ajee_wall w
 WHERE w.uid IN (SELECT fid FROM ajee_friends WHERE uid = $this->uid)
    OR w.uid = $this->uid
2 голосов
/ 20 мая 2011
    SELECT *
    FROM ajee_wall w
    WHERE w.uid IN
        ( SELECT fid 
          FROM ajee_friends
          WHERE uid = $this->uid
        )
UNION ALL
    SELECT *
    FROM ajee_wall w
    WHERE w.uid = $this->uid
0 голосов
/ 20 мая 2011

Я думаю, что вы можете использовать Союз всех ... что-то вроде

SELECT * FROM ajee_friends UNION ALL SELECT * FROM ajee_wall

Здесь будут показаны все ваши сообщения и сообщения ваших друзей. Вы можете сделать так, чтобы он показывал только несколько строк с ограничением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...