这可能是一件非常简单的事情。如果是,我道歉。我还在学习MySQL。
我有两张桌子:

Table1:
`id` int autoincrement primary key
`Name` tinytext
`Phone` tinytext
`Date` etc.


Table2:
`id` int autoincrement primary key
`itmID` int

表2中的每一行指定从表1中选择元素的顺序。表2中的itmID字段链接到表1中的id字段。
所以现在我要从表1中选择元素:
SELECT * FROM `Table1`;

但是你怎么按照表2来点,像这样的?
SELECT * FROM `Table1` ORDER BY <itmID's in Table2> ASC;

最佳答案

如果Table1的所有id都在Table2上有一个条目,请使用INNER JOIN,如下所示。

SELECT * FROM Table1 t1
INNER JOIN Table2 t2 ON t1.id = t2.itmID
ORDER BY t2.itmID

如果不是所有条目都有条目,则使用LEFT JOIN,如下所示:
SELECT * FROM Table1 t1
LEFT JOIN Table2 t2 ON t1.id = t2.itmID
ORDER BY t2.itmID

关于mysql - 从MySQL表中选择,同时从另一个表中按ID排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6946481/

10-11 02:25