MySQL排序表由2列2个表组成

时间:2018-02-11 13:24:19

标签: mysql sql sql-order-by

我认为这很容易,但我找不到解决方案:

我有一个非常大的桌子,其中的项目名称为""柱。

我有第二个表格,其中包含相应的"本地化名称"对于表1中的某些项目。

我现在想要按照"本地化名称"排序的表1从表2中可以看出,如果没有按照" name"来自表1。

示例:

表1

id name
1  USA
2  Italy
3  Germany
4  Australia

表2

id loc_name    t1_id
1  Italia      2
2  Deutschland 3

结果

4 Australia
3 Deutschland
2 Italia
1 USA

1 个答案:

答案 0 :(得分:1)

您正在寻找left joincoalesce()

select t1.*, coalesce(t2.loc_name, t1.name) as real_name
from t1 left join
     t2
     on t1.id = t2.ti_id
order by coalesce(t2.loc_name, t1.name);