gpt4 book ai didi

sql - 使用 2 个以上表的 UNION 覆盖按字母顺序排列的默认 ORDER BY?

转载 作者:行者123 更新时间:2023-12-01 13:01:14 26 4
gpt4 key购买 nike

非常快的问题...我有 4 个表,它们是 UNION 组合在一起的,如下所示:

SELECT * FROM table1  
UNION
SELECT * FROM table2
UNION
SELECT * FROM table3
UNION
SELECT * FROM table4

在不指定 ORDER BY 的情况下,查询按字母升序的第一列排序(在我的例子中恰好是 varchar 类型)。我也不想要 ORDER BY [Column1] DESC

我只是想按与表本身相同的顺序对结果进行排序 UNION-ed。 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 有区别吗?

关于sql - 使用 2 个以上表的 UNION 覆盖按字母顺序排列的默认 ORDER BY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5903149/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com