根据另一个表的值对表的查询进行排序

时间:2012-10-20 12:35:37

标签: mysql sql sql-order-by jointable

以下是该情景:
我想根据table2中的年龄对表1中的名称进行排序。什么是SQL查询?

表1

ID | Name
---|-----
1  | Jack
2  | Tony
3  | John

这是table2

ID | Age
---|-----
1  | 17
2  | 18
3  | 15

这两个表都与ID字段相关。

3 个答案:

答案 0 :(得分:8)

您需要加入两个表格,然后才能按table2.Age

订购
SELECT t1.* 
FROM   table1 t1 
       JOIN Table2 t2 
           ON t1.ID = t2.ID
ORDER BY Age

See this SQLFiddle

答案 1 :(得分:3)

select t1.id, t1.name, t2.age 
from table1 t1 join table2 t2 on t1.id=t2.id 
order by t2.age

答案 2 :(得分:1)

假设ID字段是两个表的JOIN列并考虑列的用途,理想情况下它们应该在一个表中,因为它们具有一对一的对应关系。

如果您的示例不适合您的问题,那么您将编写一个查询来加入两个表,只选择感兴趣的列(来自一个或两个表)并对相应表中的列进行排序。