正如問題所述,我試圖制定一個在列結果中有一個case語句的查詢,然後我想通過查詢的組中包含該列聲明。舉一個具體的例子,這裏是所有稍微分析一下我的查詢看起來像:如何在組中使用Case Statement列
SELECT SOME_TABLE_ALIAS.COLUMN1, OTHER_TABLE_ALIAS.COLUMN2,
CASE
WHEN SOME_TABLE_ALIAS.COLUMN3 IS NOT NULL THEN 'A'
ELSE 'B'
END AS CASE_COLUMN
FROM SOME_TABLE SOME_TABLE_ALIAS
... (other table joins and where clauses)
GROUP BY SOME_TABLE_ALIAS.COLUMN1, OTHER_TABLE_ALIAS.COLUMN2, CASE_COLUMN
前來到這裏,我檢查了幾個網站,包括this one,試圖解決我的問題。我試過在關聯網頁中顯示CASE
關鍵字之後添加另一個別名,但沒有運氣。該錯誤消息我繼續收到如下:
[Error] Script lines: 127-151 ----------------------
CASE_COLUMN IS NOT VALID IN THE CONTEXT WHERE IT IS USED. SQLCODE=-206, SQLSTATE=42703, DRIVER=3.53.71
有沒有其他人遇到我面對並已經能夠使用上CASE
語句的結果GROUP BY
的問題是什麼?任何幫助,將不勝感激。哦,還有DB2版本的z/OS實例,第10版(DSN10015)
正確。然而,只要澄清一下,在[IBM的說法]中,如果你說'FROM some_table as sta',那麼'sta'將在[FROM table-reference]中被稱爲「相關名稱」(http://pic.dhe.ibm。 com/infocenter/db2luw/v10r5/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0059206.html),而不是[「alias」name](http://pic.dhe.ibm .COM /信息中心/ db2luw/v10r5 /主題/ com.ibm.db2.luw.sql.ref.doc/DOC/r0000910.html)。但是這指出,正如你自己的答案所顯示的那樣,在GROUP BY之前首先計算FROM子句(帶有相關名稱)。 – WarrenT