0
我有一个关于下列情况下的SQL最佳实践的问题。 我有一个选择SQL查询(在SQL脚本计算视图内),它可以即时计算一些列。 它看起来像(我提供了一个简化的代码只是为了说明问题):HANA SQL中的列之间存在多个依赖关系
SELECT ... ,
"COL1" ,
"COL2" * "COL3" AS "COL4" ,
CASE WHEN "COL4" > "COL1" THEN sth
ELSE sth2
END AS "COL5" ,
CASE WHEN "COL5" > sthelse THEN sthelse2
ELSE sthelse3
END AS "COL6"
FROM ...
上面的代码不会因为错误“无效列名”的工作。我知道在其他情况下使用case语句生成的列是不可能的。我有几个依赖这样的,不希望有这样一个深度嵌套查询:
SELECT ...
FROM (SELECT * ,
CASE WHEN "COL5" > sthelse THEN sthelse2
ELSE sthelse3
END AS "COL6"
FROM (SELECT * ,
CASE WHEN "COL4" > "COL1" THEN sth
ELSE sth2
END AS "COL5"
FROM (...
有没有解决这个没有SAP HANA多级嵌套查询的方法吗?我会很感激任何意见。在此先感谢