You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多条无关SQL语句合并为单结果(Amazon Timestream场景)

合并Amazon Timestream多查询以降低计费成本

问题背景

我需要通过不同SQL查询构建仪表盘,涉及50个组件,每个组件对应一条独立的SELECT语句,这些语句的结果形式差异极大——有的返回单值,有的返回多行数据。使用的数据库是Amazon Timestream,由于该数据库单查询最低计费为10MB,执行50次独立查询的成本过高。我的目标是将所有查询合并为一次执行,仅支付一次扫描费用,但不确定如何合并这些无关的查询并正确解析结果。

期望结果

希望合并后的查询返回如下格式的结果:所有查询的列都保留,每行仅包含对应查询的结果数据,无关列填充null,最终结果的总行数等于各查询结果行数之和:

max_valcount_valitems
50nullnull
null100null
nullnullitem1
nullnullitem2
nullnullitem3

之后可通过遍历结果行提取对应数据,完成仪表盘构建。

解决方案

通过FULL OUTER JOIN并指定ON 1 = 0的方式,可将多个无关查询合并为一个,实现预期结果格式:

SELECT * FROM
(QUERY 1)
FULL OUTER JOIN
(QUERY 2)
ON 1 = 0
FULL OUTER JOIN
(QUERY 3)
ON 1 = 0
-- 依次添加剩余47个查询,每个都用 FULL OUTER JOIN ... ON 1=0

原理是ON 1=0会让两个结果集之间无匹配行,FULL OUTER JOIN会保留两个结果集的所有行,未匹配的列自动填充null。重复此逻辑即可将50个查询合并为一次执行,仅产生一次扫描计费。

内容的提问来源于stack exchange,提问作者ArielB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 02:30:39