在Postgres中设置联合查询的顺序

时间:2019-07-26 07:39:32

标签: postgresql

我是Postgresql的新手,正在尝试解决此问题:

我有3个联合查询。第一个查询给出一个日期,第二个查询给出一个交易商的ID,第三个查询给出其交易。 我希望日期查询先执行,然后再执行dearler id查询。 我如何在Postgres中实现这一目标? 我尝试使用sql使用setOrder函数来完成此操作

例如下面给出的

select *\date query\*
union
   select *\id query\*
union
   select *\trnsaction query\*

当我执行此查询时,所有的东西都会混在一起。

1 个答案:

答案 0 :(得分:1)

保留单个查询顺序的通常方法是为每个查询添加一些附加的“排序索引”。

select *
from (
  select ...., 1 as sort_index
  from ..
  union all
  select ...., 2
  from ..
  union all
  select ...., 3
  from ..
)
order by sort_index, ...;