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多級嵌套查詢的方法嗎?我會很感激任何意見。在此先感謝