【发布时间】:2016-06-25 21:18:10
【问题描述】:
我需要将这两个查询的结果放在一个具有以下结构的返回中:
"date", avg(selic."Taxa"), avg(titulos."puVenda")
表的部分结构:
selic
"dtFechamento" date,
"pTaxa" real
titulos
"dtTitulo" date,
"puVenda" real,
"nomeTitulo" character(30)
查询表selic:
select to_char("dtFechamento", 'YYYY-MM') as data, avg("pTaxa")
from "selic"
group by data
order by data
查询表titulos:
select to_char("dtTitulo", 'YYYY-MM') as data, avg("puVenda")
from "titulos"
where "nomeTitulo" = 'LFT010321'
group by data
order by data
我尝试了一个子查询,但它返回的字段彼此相邻,无法集合。
select *
from (select to_char("dtFechamento", 'YYYY-MM') as data, avg("pTaxa")
from "selic"
group by data
order by data) as selic,
(select to_char("dtTitulo", 'YYYY-MM') as data, avg("puVenda")
from "titulos"
where "nomeTitulo" = 'LFT010321'
group by data
order by data) as LFT010321;
【问题讨论】:
-
如果只有一个查询一个月有结果,返回什么?另一个为NULL?在两个查询中没有结果的几个月之间怎么办?没有行(跳过一个月)?还是返回带有两个 NULL 值的月份?
-
我冒昧地修正了您的姓名和双引号,这会分散您对实际问题的注意力。
标签: sql postgresql subquery aggregate full-outer-join