簡體   English   中英

從MySQL表中選擇,同時從另一個表中按ID排序

[英]Select from MySQL table while ordering by IDs from another table

這可能很簡單。 如果是這樣,我深表歉意。 我還在學習MySQL。

說,我有兩個表:

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

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

表2中的每一行都指定了從表1中選擇元素的順序。 itmID 2中的itmID字段鏈接到表1中的id字段。

所以現在就從Table1中選擇元素,我這樣做:

SELECT * FROM `Table1`;

但是,您如何根據Table2訂購它們呢?

SELECT * FROM `Table1` ORDER BY <itmID's in Table2> ASC;

從第一個表中選擇,將其加入第二個表,然后按第二個表排序。 就像是

SELECT * 
FROM   table1
LEFT JOIN table 2 on table.id = table2.id
ORDER by table2.itmID

如果所有的IDS Table1有一個條目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

瑞安的答案幾乎是對的

SELECT *
FROM table1
INNER JOIN table2 on table1.id = table2.itmID
ORDER BY table2.id

http://dev.mysql.com/doc/refman/5.5/zh-CN/join.html

SELECT * FROM `Table1`
INNER JOIN `Table2` USING (`id`)
ORDER BY `Table2`.`itmID` ASC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM