php friends table


php friends table

我已经纠结了好几个小时了,所以请帮助我。这是我的users表

id | username | last_activity(timestamp for online system)

这是我的朋友表

id | uid | fid

我想要的是按last_activity排序输出我当前的查询是这样的:

SELECT fid FROM friends WHERE uid='$user_id'
SELECT f.fid FROM f.friends
LEFT JOIN users u ON f.uid = u.id
WHERE uid=$user_id
ORDER BY u.last_activity DESC

您想使用INNER JOIN连接两个表:

SELECT f.fid 
FROM friends f 
INNER JOIN users u 
ON u.id = f.id 
ORDER BY u.last_activity DESC

一定要确保你输入的是一个真正的JOIN子句,因为有些方法已经过时了,而且越来越不受支持。

在这里阅读更多内容:

我想你要

SELECT f.fid AS fid
FROM friends f, users u
WHERE f.uid = u.id AND f.uid = $user_id
ORDER BY u.last_activity DESC

我假设您的问题是fid在一个表上,但排序标准last_activity在另一个表上。此查询的目标是将friends表中的每一行与users表中的相应行(通过WHERE子句)进行JOIN

假设好友表中的uid等于用户表中的foreign key references to id表格所以使用INNER JOIN你可以检索你想要的结果。

      SELECT f.fid
      FROM friends f INNER JOIN user_tb u 
      ON u.id = f.uid
      WHERE f.uid = '$user_id'
      ORDER BY u.last_activity DESC;