ahm*_*md0 1 mysql select sql-order-by
这可能是一件非常简单的事情。如果是这样,我道歉。我还在学习MySQL。
假设我有两张表:
Table1:
`id` int autoincrement primary key
`Name` tinytext
`Phone` tinytext
`Date` etc.
Run Code Online (Sandbox Code Playgroud)
和
Table2:
`id` int autoincrement primary key
`itmID` int
Run Code Online (Sandbox Code Playgroud)
表 2 中的每一行指定从表 1 中选择元素的顺序。itmID表 2 中的字段链接到id表 1 中的字段。
因此,此时要从 Table1 中选择元素,我会这样做:
SELECT * FROM `Table1`;
Run Code Online (Sandbox Code Playgroud)
但是如何根据表 2 来对它们进行排序呢?
SELECT * FROM `Table1` ORDER BY <itmID's in Table2> ASC;
Run Code Online (Sandbox Code Playgroud)
如果 的所有 idTable1都有一个Table2使用 的条目INNER JOIN,就像这样。
SELECT * FROM Table1 t1
INNER JOIN Table2 t2 ON t1.id = t2.itmID
ORDER BY t2.itmID
Run Code Online (Sandbox Code Playgroud)
如果不是所有的都有条目,则使用 a LEFT JOIN,如下所示:
SELECT * FROM Table1 t1
LEFT JOIN Table2 t2 ON t1.id = t2.itmID
ORDER BY t2.itmID
Run Code Online (Sandbox Code Playgroud)