帮助mysql加入

时间:2011-09-12 06:19:40

标签: mysql join

这是我的声明,我可以提取他们添加的用户朋友的所有数据:

$q = $dbc -> prepare("SELECT a.* FROM accounts a INNER JOIN friends fr ON (a.id = fr.friend_id) WHERE fr.id = ?");
$q -> execute(array($details['id']));

现在这基本上是朋友表中id匹配的位置,用它来获取朋友ID和所有相关数据。

我正在尝试实现朋友在线页面,我如何测试以查看friend_id帐户中的列是否符合某个标准?

这就是我拉动所有在线用户的方式......

$online_users = time() - 900;
$q = $dbc -> prepare("SELECT * FROM accounts WHERE last_active > ? && id != ? ORDER BY id");
$q -> execute(array($online_users, $details['id']));

1 个答案:

答案 0 :(得分:3)

SELECT a.*
  FROM accounts AS a
  JOIN friends  AS f ON (a.id = f.friend_id)
 WHERE f.id = ?
   AND a.last_active > ?
 ORDER BY id

您不需要在a.id上重复该条件,因为联接强制执行该条件。