snowflake-cloud-data-platform - 雪花:外部应用/横向
问题描述
Snowflake 显然不支持 OUTER APPLY。但是它有 LATERAL,据我所知,它的工作方式类似于 OUTER APPLY。
但是当我尝试以这种方式使用 LATER 时,我得到一个我不知道如何解决的编译错误。
这是查询:
SELECT
*
FROM
temp_report r
CROSS JOIN LATERAL
(
SELECT
ROW_NUMBER() OVER (PARTITION BY rr.state_code ORDER BY rr.priority) as rule_priority,
*
FROM
rule_rules rr
LEFT JOIN rule_classes rc ON rr.state_code = rc.state_code AND rr.class_group = rc.class_group
WHERE
r.state_code = rr.state_code AND
(r.class = rc.class OR rc.class IS NULL) AND
((r.years = 0 AND first_term = true) OR (r.years > 0 AND first_term = false)) AND
(r.years-1 % rule_interval = 0 OR rule_interval IS NULL)
) rr
WHERE
rr.priority IS NULL OR rr.rule_priority = 1
我得到的错误是:无法评估不支持的子查询类型。
建议?
解决方案
推荐阅读
- boolean - 仅在 NAND 中的等效表达式
- node.js - 密码查询未给出结果
- html - 使用 ::after 选择器为按钮设置动画
- javascript - 同一行中的两个字符串
- swift - iOS 13.2 从 MapKit 中删除覆盖导致地图闪烁
- symfony - services.yaml 中的 SetTemplate 不适用于我自己的模板
- rust - 如何在 Rust 中克隆 Rc 的选项?
- python - 无法安装 python bcs 它说这个版本已经存在但是这个版本不存在
- c# - C# 多线程上下文 - 来自 .NET 和/或 UWP 的方法和事件处理程序的行为 -
- c - 使用 C 编程创建文件并将其保存为当前登录的 username.txt