根据不同表中的键对结果进行排序

时间:2012-08-25 11:16:23

标签: mysql

table1其中一个字段为member_id

table2其中一个字段为member_username,此表中的id字段等于member_id中的table2字段。

目标是根据table1中的member_username按升序字母顺序显示table2的所有结果。

基本上我需要将member_idtable1解析为member_username table2并按字母顺序排序。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您需要使用table1table2的联接来获取用户名,然后对此字段进行排序。您只需要警惕一对多的关系,即如果某个成员在table2中有多个具有相同ID的条目,您可能会获得比预期更多的行。

select *
from table1
left join table2 on table2.id = table1.member_id
order by table2.member_username

答案 1 :(得分:0)

如果我没有误解您的问题,请尝试将两个表连在一起,然后按member_username排序。

SELECT t1.*, 
       t2.member_username
FROM table1 AS t1
INNER JOIN table2 AS t2 ON t1.member_id = t2.id
ORDER BY t2.member_username ASC;

您可以将t2.member_username留在查询的SELECT部分,我只是将其放在那里以供参考。