真的很简单的问题…我有4个表,它们UNION在一起-ed像这样:
UNION
SELECT * FROM table1 UNION SELECT * FROM table2 UNION SELECT * FROM table3 UNION SELECT * FROM table4
如果不指定an ORDER BY,则查询将按第一列的字母升序(在我的情况下恰好是一种varchar类型)进行排序。我不想ORDER BY [Column1] DESC要么。
ORDER BY
varchar
ORDER BY [Column1] DESC
我只是想按与表本身相同的顺序对结果进行排序UNION。1 2 3 4
有没有简单的方法可以做到这一点?
谢谢!!
单程
SELECT *,1 as SortOrder FROM table1 UNION SELECT *,2 FROM table2 UNION SELECT *,3 FROM table3 UNION SELECT *,4 FROM table4 order by SortOrder
发生的情况是您使用的是UNION,然后sql server将结果集与众不同,以便对表进行排序
有UNION ALL区别吗?
UNION ALL