2016-03-22 13 views
0

Ich bin neu in Oracle PL/SQL. Ich habe eine Frage zum Thema "Erstellen von Ansichten, Gruppieren basierend auf Clob".Oracle PL/SQL. Group by on clob data

TABLE1 = EMPLOYEE

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

TABLE2 = EMPLOYEE_WORK

EMP_ID : NUMBER 
DEPT_NO : NUMBER 
WORK_DONE: CLOB 

Probe VIEW Abfrage:

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; 

Ich möchte die Gruppe nur basierend auf DEPT_NO ausführen. Da Oracle das nicht unterstützt. Ich musste alle Spalten in VIEW unter GROUP BY angeben. Ich möchte den clob nicht explizit in VARCHAR konvertieren und die Gruppe per Operation ausführen, weil ich nicht weiß, wie groß der clob sein wird und es keinen Grund gibt, dass er in der GROUP BY-Liste vorhanden ist.

Gibt es eine Möglichkeit, dies durchzuführen? Danke im Voraus.

+1

Was wären die Ergebnisse? – sagi

+1

Wenn Sie "GROUP BY" sagen, meinen Sie eigentlich "DISTINCT"? – Boneist

+0

Plz erarbeiten, was Endergebnis wollen Sie. Es gibt verschiedene Möglichkeiten, die wir erreichen können oder als Alternative zu GROUP BY –

Antwort

-1

Um zu wiederholen, was Sagi und Avraji gefragt haben: "Was willst du tun?" Und, was Bonist sagt, ist Ihre Ansicht wesentlich anders.

Im Allgemeinen, mit einer Gruppe nach, machst du eine Aggregation, wie eine Zählung. Websuche "Oracle Gruppe von."

Auch wenn Sie die Länge des CLOBs nicht unbedingt kennen, werden Sie wahrscheinlich nur durch eine endliche Anzahl von Zeichen sortiert. Web-Suche DBMS_LOB für Funktionen wie dbms_lob.sub zB dbms_lob.str (w.WORK_DONE, 100, 1), die Sie bekommen können, was Sie wünschen.

+0

Dies ist keine Antwort - es ist eine Reihe von Vermutungen und sollte ein Kommentar sein. OP muss Klärung für die Frage liefern. Ich schlage vor, Sie warten, bis die Frage in einem Zustand ist, in dem sie * beantwortet werden kann. –

+0

Ich kann nicht kommentieren, bis ich genug Punkte bekomme. Altho Ihr Punkt kann gültig sein, es scheint nicht, dass das Plakat weiß, was er/sie tun möchte und möglicherweise Hilfe benötigen, um zum nächsten Schritt zu gelangen. Ich hatte gehofft, das zu unterstützen. – JustinKaisse