【发布时间】:2020-08-08 09:18:32
【问题描述】:
我有一个名为“valores_indices”的表,它每 1 小时导入一次股票值,我需要在上午 8 点和下午 6 点从每个受监控的股票中获取值,它们分别是我的“vlrAberto”和“vlrFechado”选择 我不明白为什么这些不合并,我以前做过,任何帮助都将不胜感激,因为我的想法已经用完了,我试图在没有任何运气的情况下嵌套它
SELECT
i.descricao as cotacao,
m.quantidade as qtdComprada,
m.valor as vlrUnitario,
(m.valor * m.quantidade) as valorCompra,
v.valor as vlrAberto,
0 as vlrFechado,
v.data as data
FROM
movimento_indices m
LEFT JOIN indices i ON i.idindice = m.idindice
LEFT JOIN valores_indices v ON v.idindice = m.idindice
WHERE
v.hora IN ('08:00')
UNION ALL
SELECT
i.descricao as cotacao,
m.quantidade as qtdComprada,
m.valor as vlrUnitario,
(m.valor * m.quantidade) as valorCompra,
0 as vlrAberto,
v.valor as vlrFechado,
v.data as data
FROM
movimento_indices m
LEFT JOIN indices i ON i.idindice = m.idindice
LEFT JOIN valores_indices v ON v.idindice = m.idindice
WHERE
v.hora IN ('18:00')
编辑
这就是我得到的
这是预期的结果
【问题讨论】:
-
合并如何?发布样本数据和预期结果。
-
不能合并不相同的值。
-
@forpas 样本数据和预期结果见编辑
-
@user12975442 不,它们不是,一列是零,而另一列是数字。
标签: sql database postgresql group-by union-all