首先选择在临时表中具有匹配ID的行

时间:2019-05-07 04:56:20

标签: sql sql-server

我有一个temporary table,其中包含ID的列表,而当我从主表中查询时,我想要的是temporary table中的那些ID将首先显示在结果中。

示例:

这是临时表中的数据:

ID
--
7
5
3

然后,当我在主表中查询时,我希望临时表中的ID's首先显示在我的结果中。

ID
--
7 -- from temp table
5 -- from temp table
3 -- from temp table
1
2
4
6

有可能吗?

1 个答案:

答案 0 :(得分:1)

简单的左联接应具有您想要的方式:

SELECT m.*
FROM main_table m
LEFT JOIN temp_table t
    ON m.id = t.id
ORDER BY
    t.id DESC;

我使用的ORDER BY子句应该可以正常工作,并且main_table中与temp_table中的任何内容不匹配的那些记录应被推送到结果集的底部。如果需要,还可以添加其他级别的排序。