从另一个表按列排序

wyyhbhjk  于 2021-06-18  发布在  Mysql
关注(0)|答案(3)|浏览(321)

我想订购用户的朋友的最后行动与他们。但是关于用户的信息在表users中,最后一个动作在表friends中。
我试过了,但没用:

SELECT m.* 
FROM users AS m 
WHERE m.username = '$username' 
JOIN friends AS p 
ORDER BY p.last_act DESC
n8ghc7c1

n8ghc7c11#

SELECT m.*, f.* 
FROM users AS m  
JOIN friends AS p 
ON m.id = p.user_id
LEFT JOIN users AS f 
ON p.friend_id = f.id
WHERE m.username = '$username' 
ORDER BY p.last_act DESC
bpzcxfmw

bpzcxfmw2#

你的问题太模糊了,我们不知道表的结构,也看不到错误信息。。。
但是如果看到有一个订单问题,它必须作为select,from,join,where。您需要使用on来Mapjoin中的关系。
例子

SELECT * FROM table1 JOIN table2 ON table1.id = table2.foreign_id
ecbunoof

ecbunoof3#

您应该在用户的朋友表上有一个外键。例如说它是userid。那么上述查询将是:

SELECT m.* 
FROM users AS m 
    JOIN friends AS p ON p.userid = m.id  
WHERE m.username = '$username' 
ORDER BY p.last_act DESC

相关问题