雪花视图嵌套计算

时间:2021-05-27 20:02:18

标签: sql view snowflake-cloud-data-platform

我必须通过从 7-​​8 个表中获取数据来构建一个视图,然后有从其他计算字段计算的字段。例如,第一个计算是 if(indicator='H', amount*20, amount) as deliAmt。接着 If(isnull(deliAmt),0 else deliAmt)

这只是一个例子,但对于这个视图,我需要 5-6 个这样的计算。

此外,最终视图有大约 7-8 个主表和其他表,用于这些计算的获取列。最终总共有 57 列。

请指导实现此目的的最佳方法是什么。

1 个答案:

答案 0 :(得分:0)

要编写从 7-8 表中选择数据的视图,请编写 SQL 选择来自 7-8 表并将其放入“视图中”。

但是你的另一部分问题是如何做类似逻辑的 IF 是在雪花中使用 IFF 运算符,因此你的例子 if(indicator=‘H’, amount*20, amount) as deliAmt

会写

IFF(indicator=‘H’, amount*20, amount) as deliAmt

If(isnull(deliAmt),0 else deliAmt) 将是:

IFF(isnull(deliAmt), 0, deliAmt)

其中也可以通过 ZEROIFNULL 完成,例如:

ZEROIFNULL(deliAmt)