我有以下問題: 我有一個包含case部分的select語句。直到那裏很容易的問題是,案件包括對同一個表中的另一個字段的檢查。不同字段的SQL案例從同一張表中檢查
select h.id,
case h.value
when 'P' then 'test'
when '' then 'failed'
when 'D' then 'passed'
else null end
as info,
b.text,
case h.diag
when h.value = '' [or 'failed' not sure tried both and didn't work]
else h.diag end
as diag1, h.date from valuetab h, texttab b where h.id=b.id
我想讓h.diag只顯示h.value沒有失敗時的值。
我總是得到= =應該concat的錯誤..但這在我眼中是沒有意義的。
任何想法??
這就是你的全部幫助。
是啊不知道它沒有複製.... sry,但是在那裏:-) – Thevagabond 2013-04-10 13:22:21
這是語法錯誤。當你在'CASE'中指定一個表達式時,你可以在'WHEN'中有另一個表達式作爲值。 http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/r0005646.htm –
2013-04-10 13:23:43
@CodeMagician你說得對,我發現缺少'then',但錯過了不允許條件的「簡單」WHEN子句中的條件。謝謝。 – dasblinkenlight 2013-04-10 13:26:07