2016-03-22 7 views
0

Oracle PL/SQLの新機能です。私は「ビューを作成する、clobに基づいてグループ化する」という質問があります。Oracle PL/SQLグループ・オン・クローブ・データ

TABLE1 = EMPLOYEE

EMP_ID : NUMBER 
EMP_NAME : VARCHAR2(255 BYTE) 
AGE  : NUMBER 

TABLE2 = EMPLOYEE_WORK

EMP_ID : NUMBER 
DEPT_NO : NUMBER 
WORK_DONE: CLOB 

サンプルVIEWクエリ:

CREATE OR REPLACE view EMP_DETAILS 
as 
select E.EMP_ID, 
     E.EMP_NAME, 
     W.DEPT_NO, 
     W.WORKDONE 
from EMPLOYEE E, 
    EMPLOYEE_WORK W 
where E.EMP_ID=W.EMP_ID 
group by E.EMP_ID, E.EMP_NAME, W.DEPT_NO, W.WORKDONE; 

DEPT_NOにのみ基づいてグループを実行したい。オラクルはそれをサポートしていないので。私はVIEWのGROUP BYの下にあるすべての列を与えなければなりませんでした。 ClobをVARCHARに明示的に変換して操作でグループを実行する必要はありません.CLOBのサイズがわからず、GROUP BYリストにその理由がないためです。

これを実行する方法はありますか?前もって感謝します。

+1

結果はどうなりますか? – sagi

+1

"GROUP BY"と言ったら、実際には "DISTINCT"を意味しますか? – Boneist

+0

Plzはどんな最終結果を望みますかを精緻化します。 GROUP BY –

答えて

-1

サジとアブラージュが尋ねたことをエコーするには、「あなたは何をしたいですか?」そして、ボネストが言っていることを拡張すると、あなたの意見は本質的に別物です。

一般的に、by byグループでは、カウントなどの集計を行っています。 Web検索 "Oracle group by。"

CLOBの長さがわからなくても、たぶん有限の文字数で注文するだけです。 DBMS_LOB dbMS_lob.substr(w.WORK_DONE、100、1)などの関数のWeb検索DBMS_LOBは、必要なものを得ることができます。

+0

これは答えではありません。これは一連の推測であり、コメントでなければなりません。 OPは質問の明確化を提供する必要があります。質問が解決できる状態になるまで待つことをお勧めします。 –

+0

十分なポイントが得られるまではコメントできません。 あなたのポイントは有効かもしれませんが、ポスターが何をしたいのかを知っているようではなく、次のステップに進むのに役立つかもしれません。私はそれを助けることを望んでいた。 – JustinKaisse

関連する問題