Probleme mit JOIN

es geht weiter...
da die tabellen sich selbst beim speichern sich datum und Zeit holen, kann es passieren, das wir hier eine tolleranz von 1 Sekunde haben (zumindest aktueller stand)... jetzt würde ich gerne eine Tolleranz von großzügigen 60 Sekunden einbauen

meine Idee:
Code:
  and To_char(tbl1.TIME, 'dd.mm.yy hh24:mi') = To_char(tbl2.datum, 'dd.mm.yy hh24:mi')

es funktioniert zwar... aber wenn jetzt mal in tbl1 8:59:59 und in tbl2 steht eine sekunde später... dann bringt mir das mal garnix...

=> wie kann ich sagen +-60 sekunden?

Vielen Dank
 
TO_CHAR? Also Oracle

between datum +1 Minute und - 1 Minute
SQL:
and tbl1.TIME BETWEEN 
    (tbl2.datum -  INTERVAL '1' MINUTE) 
    and (tbl2.datum +  INTERVAL '1' MINUTE)
 
Hi,

ist zwar nicht ganz das thema, aber passt etwas dazu...

gibt es eine möglichkeit LISTAGG zu Limitieren? Ich habe in einem LEFT JOIN zu Kunden eine Vertragsliste... zu der Vertragsliste sollen die Vertragsnummern angefügt werden LISTAGG(VERTRAGS_ID, '; ') WITHIN GR...

Das Funktioniert eigentlich auch ganz gut... allerdings ist es jetzt so, dass ein paar Kunden über 500 Verträge haben und der SQL-Developer jetzt zurückmeldet: 01489. 00000 - "result of string concatenation is too long"

Ich habe Folgendes gefunden:
Code:
LISTAGG(CASE WHEN ROWNUM < 50 THEN VERTRAGS_ID ELSE NULL END, '; ')

Das Funktioniert zwar (so ca.) allerdings nimmt er bei ROWNUM nicht die vorhandenen ROWS sondern die Tatsächlichen ROWS in der Tabelle... und wenn der Kunde 2 Verträge in ROW 60 und 61 hat, wird keiner ausgegeben...

Ich würde gerne einfach 5 Verträge auflisten!

ein Nice to have wäre, wenn es mehr als 5 Verträge gibt, dass dahinter "..." geschrieben wird!

Kann mir da jemand helfen?
Danke
 
Zurück