自定义排序依据 SQL

Custom SORT BY SQL

我是社区的新手,但过去曾多次引用过它。我在 Access 中遇到了一个问题,特别是 SQL.

中的 SORT BY 问题

长话短说,我需要根据几个不同查询的结果创建一个报告。我使用联合查询来绕过 "Query is too complex" 问题。不过,查询结果与我希望的顺序不一致。

由于此 UNION 查询不是基于一个特定的 table,而是基于许多查询的结果,因此我无法按特定列 header.

进行排序

我想按照 SQL 语句中的书写方式对结果进行排序。任何人都可以提供一些有关如何执行此操作的见解吗?我尝试了几种不同的方法,但总是以错误消息告终。这是代码,非常感谢任何帮助。

SELECT [Aqua-Anvil_Total].Expr1
FROM [Aqua-Anvil_Total];
UNION SELECT [Aqua-Reslin_Total].Expr1
FROM [Aqua-Reslin_Total];
UNION SELECT [Aqua_Zenivex_Total].Expr1
FROM [Aqua_Zenivex_Total];
UNION SELECT [Aqualuer_20-20_Total].Expr1
FROM [Aqualuer_20-20_Total];
UNION SELECT [Avalon_Total].Expr1
FROM [Avalon_Total];
UNION SELECT [BVA_13_Total].Expr1
FROM [BVA_13_Total];
UNION SELECT [Deltagard_Total].Expr1
FROM [Deltagard_Total];
UNION SELECT [Envion_Total].Expr1
FROM [Envion_Total];
UNION SELECT [Scourge_18-54_Total].Expr1
FROM [Scourge_18-54_Total];
UNION SELECT [Zenivex_E20_Total].Expr1
FROM [Zenivex_E20_Total];

这使用 union all 而不是 union,因此如果您使用 union 删除重复项,此后会有更多工作要做。

select Expr1 
from (
  select [Aqua-Anvil_Total].Expr1, 0 as sort
  from [Aqua-Anvil_Total]
  union all select [Aqua-Reslin_Total].Expr1, 1 as sort
  from [Aqua-Reslin_Total]
  union all select [Aqua_Zenivex_Total].Expr1, 2 as sort
  from [Aqua_Zenivex_Total]
  union all select [Aqualuer_20-20_Total].Expr1, 3 as sort
  from [Aqualuer_20-20_Total]
  union all select [Avalon_Total].Expr1, 4 as sort
  from [Avalon_Total]
  union all select [bva_13_Total].Expr1, 5 as sort
  from [bva_13_Total]
  union all select [Deltagard_Total].Expr1, 6 as sort
  from [Deltagard_Total]
  union all select [Envion_Total].Expr1, 7 as sort
  from [Envion_Total]
  union all select [Scourge_18-54_Total].Expr1, 8 as sort
  from [Scourge_18-54_Total]
  union all select [Zenivex_E20_Total].Expr1, 9 as sort
  from [Zenivex_E20_Total]
) as u
order by u.sort