2017-07-02 228 views
0

我試圖從我的表messages中選擇10個最後一行。我使用inner join從表users中選擇姓名和姓氏。與內部聯接的MySQL子查詢?

事情是我需要此行以方興未艾的順序,所以我試圖使用子查詢作爲this帖子接受的答案。

SELECT * FROM (
    SELECT me.id, me.message, us.name1, us.lname1, SUBSTRING(us.lname2,1,1) 
    FROM messages me INNER JOIN users us on me.rut=us.rut 
    ORDER BY me.id DESC LIMIT 10 
) tmp ORDER BY tmp.me.id ASC; 

但它不工作,我居然不知道什麼是與內連接來做到這一點的正確方法。

反正我怎麼能使它工作?

注意:內部parentesis查詢正在工作,它只是外部parentesis查詢不起作用。

+0

也許你需要'ORDER BY tmp.id ASC;'代替'ORDER BY tmp.me.id ASC;' –

回答

1

在外部查詢中,您將只有請參閱 a tmp.id而不是tmp.me.id。所以,你的奧德條款應

ORDER BY id 

(由於tmp.id是唯一一個你可以離開tmp.路程,ORDER BY隱式使用ASC

+0

omg就是這樣! TY –