【发布时间】:2020-04-24 22:03:07
【问题描述】:
我只是了解一下 presto(和奇怪的表结构),但假设我有一个存储如下数据的表:
我希望编写一个查询以获取以下输出:
我尝试使用以下查询来解决这个问题:
SELECT DISTINCT
ts.id,
(SELECT
ts.trial_type,
ts.trial_score
FROM trial_scores ts
WHERE ts. = 12345678
AND ts.date = date_format(date_add('day', -3, CURRENT_DATE), '%Y-%m-%d')) as previous_score,
(SELECT
ts.trial_type,
ts.trial_score
FROM trial_scores ts
WHERE ts. = 12345678
AND ts.date = date_format(date_add('day', -2, CURRENT_DATE), '%Y-%m-%d')) as current_score
FROM trial_scores ts
但是,我不断收到来自查询引擎的错误“尚不支持子查询返回的多个列。找到 2”
是否有任何其他方法可以重写此查询以获得上述所需的输出?
可以确认我的两个内部子查询都是独立运行的,所以我想这是一个将它们与其他我无法理解的东西混合在一起的情况。
【问题讨论】:
-
我有消息要告诉你。失败的不仅仅是 PrestoDB。它在大多数数据库中都会失败(尽管有一两个例外)。你的语法也不正确。
ts.是什么? -
@GordonLinoff 这只是我给 trial_scores 表的别名