我必须通过从 7-8 个表中获取数据来构建一个视图,然后有从其他计算字段计算的字段。例如,第一个计算是 if(indicator='H', amount*20, amount) as deliAmt。接着 If(isnull(deliAmt),0 else deliAmt)
这只是一个例子,但对于这个视图,我需要 5-6 个这样的计算。
此外,最终视图有大约 7-8 个主表和其他表,用于这些计算的获取列。最终总共有 57 列。
请指导实现此目的的最佳方法是什么。
答案 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)