Einzelnen Beitrag anzeigen

barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#1

Hilfe bei Erstellung eines SQL-Statements

  Alt 2. Aug 2006, 14:55
Datenbank: Oracle • Zugriff über: Hibernate
Hallo Leude,

ich habe mal wieder eine Frage zur Erstellung einer DB-Abrage. Ich bin alles andere als fit beim Formulieren von SQL-Statements. Daher formuliere ich mein Anliegen einmal hier. Folgende Struktur:

[code]
Tabelle: RQS
rqsSk
EMP_SK
STATUS
EFF_CRE_TS

Tabelle: RQSDate
rqsSk
rqsDateSk
NOM_DATE
EMP_SK
STATUS_NOM

Tablle: RQSDet
rqsDetSk
rqsDateSk
ACTN
SEG_CODE_SK
[code]


Die Tabellen stehen wie folgt in Beziehung:
[code]
rqs <= 1:n => rqsDate <= 1:1 => rqsDet
[code]

Ich habe bisher folgendes:

SQL-Code:
select
        rqs.RQS_SK,
        rqs.RQS.EMP_SK,
        rqs.STATUS,
        rqs.EFF_CRE_TS,
        rqsDate.NOM_DATE,
        rqsDet.ACTN,
        rqsDet.SEG_CODE_SK,
        count(EFF_CRE_TS)


from
   Rqs rqs inner join fetch rqs.rqsDates rqsdates
   inner join fetch rqsdates.rqsDets rqsdets
where
   (rqs.empSk = '-979999242803'
and
   rqsdets.actn = 'ADD'
and
   rqsdets.segCodeSk ='-979998246801')
order by
   rqs.effCreTs desc
Das Ergebnis liefert mehrere Zeilen, wo rqs.EFF_CRE_TS jeweils identich sind:
Code:
RQS_SK            EMP_SK           STATUS      EFF_CRE_TS          NOM_DATE  ACTN   SEG_CODE_SK   Tage
-979913683924   -979999242803   FAIL      01.08.2006 14:41:14   38959      ADD   -979998246801   1
-979913684171   -979999242803   FAIL      01.08.2006 14:36:40   38959      ADD   -979998246801   1
-979913685879   -979999242803   FAIL      01.08.2006 13:29:35   38959      ADD   -979998246801   1
-979913685879   -979999242803   FAIL      01.08.2006 13:29:35   38960      ADD   -979998246801   1
-979913685879   -979999242803   FAIL      01.08.2006 13:29:35   38961      ADD   -979998246801   1
-979913685879   -979999242803   FAIL      01.08.2006 13:29:35   38962      ADD   -979998246801   1
-979913685879   -979999242803   FAIL      01.08.2006 13:29:35   38963      ADD   -979998246801   1
-979913685879   -979999242803   FAIL      01.08.2006 13:29:35   38964      ADD   -979998246801   1
-979913685879   -979999242803   FAIL      01.08.2006 13:29:35   38965      ADD   -979998246801   1
-979913685879   -979999242803   FAIL      01.08.2006 13:29:35   38966      ADD   -979998246801   1
-979913685879   -979999242803   FAIL      01.08.2006 13:29:35   38967      ADD   -979998246801   1
-979913714646   -979999242803   FAIL      31.07.2006 11:47:51   38958      ADD   -979998246801   1
Ich möchte nun statt mehrfachen Zeilen EFF_CRE_TS die Zeilen zählen und als Tage ausgeben. Als Beispiel:
Für EFF_Cre_TS = 01.08.2006 13:29:35 sollte bei Tagen ein 9 erscheinen. Das kann doch nicht so schwer sein? Wie muss das gruppiert werden? Wie sieht das "count()" aus?

Ich stecke fest! Kann mir jemand helfen? Vielen Dank!
Gruß,

Barnti
  Mit Zitat antworten Zitat