如何解决相关子查询的解决方法
我需要在不使用相关子查询的情况下运行以下连接,因为我只能使用 Hive 或 Presto,这两者都因我使用相关子查询而失败。
我已经把它变成了 MWE。我有一张每个用户及其 18 岁生日的表格。每次用户访问电影院时,我都有另一个表。我只想在用户最后一次访问我的电影院时合并。适用于本机 SQL 的代码如下。
最有效的解决方法是不需要我加入用户访问电影院的每个实例(它太大了)。
SELECT
people.*,tickets.uid
tickets.date
FROM all_customers as people
JOIN tkting as tickets
on people.uid = tickets.uid
and tickets.date = (select
lastvisit.date
from tickets as lastvisit
where
lastvisit.uid = people.uid
and lastvisit.date < people.birthday_18
order by lastvisit.date asc
limit 1)
解决方法
代替这个内部查询:
SELECT lastvisit.date
...
ORDER BY lastvisit.date ASC
LIMIT 1
你可以试试:
SELECT min(lastvisit.date)
...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。