Daniela Koller: sql abfrage problem verknuepfung zweier tabellen

Beitrag lesen

Hi Christian

bei den zwei spalten funktioniert das auch prächtig.
jetzt muß ich aber noch weiter spalten der tabelle_2
(z.B. extra_2, kuerzel_2) mit in das query aufnehmen.
ergebnis:
kunde a  12.03.2002  10.03.2002   1432  fed
kunde b  14.05.2002  14.05.2002   1253  lgk
kunde c  01.07.2002  06.05.2002   1425  wfd

in deinen tips schreibst du etwas von subquery oder joins.
wie muß mein query dann aussehen? könntest du mir da nochmal helfen?

select a.kunde_1, a.datum_1, b.datum_2, b.spalte1,
       b.spalte2
  from tabelle_1 a, tabelle_2 b
  where a.kunde_1 = b.kunde_2
    and b.datum_2 = (select max(c.datum_2)
                      from tabelle_2 c
                      where c.kunde_1 = a.kunde_1
                        and c.datum_2 <= a.datum_1)

Müsste es eigentlich tun, ist aber ungetestet mangels
Oracle und deinen Daten/Datenmodell.

Die innere Query macht, was vorher das Group by
gemacht hat, es holt dir das höchste Datum vom
passenden Kunden das kleiner ist als das gewünschte
Datum. Nur kannst du so genau den richtigen
Datensatz von Tabelle 2 selektieren und somit
auch weitere Felder davon benutzen (angedeutet
mit spalte1, spalte2).

Ich hab den Tabellen Namen gegeben (Buchstaben a, b und
c hinter den Tabellennamen), unter Umständen muss da
noch ein as dazwischen. Das habe ich getan damit er
in der inneren Query kein Durcheinander kriegt welche
der beiden tabelle_2 gemeint ist.

Gruss Daniela

--
Nein, wir frieren unsere Hühner nicht auf Gletschern fest.
Selfcode: sh:) fo:) ch:) rl:) br:> n4:| ie:{ mo:) va:) de:] zu:} fl:( ss:) ls:&