oraclecasewhen語句then之后可不可以加查詢語句?
應(yīng)該是不可以.除非是 子查詢:select case when col1 = 1 then (select count(1) from tab_b ) else 0 endfrom tab_a.OQL是SOD框架的ORM查詢語言,它類似Linq,但是它誕生的歷史比Linq早,并且更加接近SQL語法。所以,對SOD框架而言,對應(yīng)ORM如何支持CASE WHEN,就等于是問OQL如何支持CASE WHEN了。這個問題已經(jīng)不止這一個朋友來問我了,我想了下,還是把這個問題的解決寫一篇博客,給大家一種新的解決方案。注意新的方案這個提法,我是不打算讓OQL支持CASE WHEN這個特性的,為何要這樣做呢?QL只解決 80%的普通查詢,其它復(fù)雜的查詢,應(yīng)該依托于其它技術(shù),否則會增加OQL的復(fù)雜性.復(fù)雜的查詢,可以借助于SOD框架的SQL-MAP技術(shù),將SQL語句寫在SqlMap.config文件中;可以采用數(shù)據(jù)庫視圖或者計算列.