Announcement

Collapse
No announcement yet.

Dringende Hilfe bei Abgleich von 3 Tabellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dringende Hilfe bei Abgleich von 3 Tabellen

    Hallo zusammen,

    ich bin noch recht neu in sachen SQL deswegen habe ich auch im Moment ziemliche schwierigkeiten etwas zu realisieren.

    Folgendes szeanrio

    3 Tabellen

    Tab1:
    Feld 1: Eindeutige-ID
    Feld 2: Bereichszuordnungsnummer
    Feld 3: Status (noch alle NULL)
    Feld 4 Name
    Feld 5 Straße
    ...
    -------------
    Die Tabelle 2 wurde erstellt um abzugelichen welche eindeutige ID welche Kundennummer hat
    Tab2:
    Feld 1: Eindeutige ID (wie in Tab1)
    Feld 2: zugeordnete Kundennummer zu der Eindeutigen ID
    -------------
    Tab 3:
    Feld 1: Kundennummer
    Feld 2: Bereichszuordnungsnummer
    Feld 4 Name
    Feld 5 Straße
    ...

    Natürlich gibt es in Tab 1 und Tab 2 noch mehr Felder die aber denke ich recht uninteressant sind.


    Folgende Aufgabe:

    In Tabelle 3 sind ALLE Daten. In Tabelle 1 sind eventuell Daten die in Tab3 auch sind aber auch welche die eventuell nicht enthalten sind.
    Ich soll in Tabele 1 im Feld "Status" nun definieren (durch 1 oder 0 ) ob der Datensatz in Tabelle 3 enthalten ist oder nicht.

    Ich habe im moment wenig Ahnung wie das funktionieren soll. Wie würdet ihr vorgehen? Eventuell kleine code Beispiele?

    Danke schon mal für die Hilfe!! Wäre echt super dringend


    Gruß

  • #2
    Was wo in welcher Tabelle steht oder erst abgebildet werden soll, wird mir aus Deinem Szenario nicht ganz klar. Und meinst Du vielleicht nicht "definieren", sondern kennzeichnen?
    Du benötigst für Dein Problem sicher outer joins oder "exists" Prüfung, ein Beispiel:
    [HIGHLIGHT=SQL]
    select t1.nr, t2.nr,
    decode(t2.nr, null, 'existiert nur in t1', 'existiert in t1 und t2') as Abgleich
    from tab1 t1, tab2 t2
    where t1.nr = t2.nr (+)
    [/HIGHLIGHT]

    Vielleicht ist auch sinnvoll, das Ergebnis des Abgleichs nicht in eine Tabelle zu schreiben, es könnte nämlich sehr schnell veraltet sein. Aber das kannst Du sicher besser beurteilen.
    Gruß, defo

    Comment


    • #3
      genau war etwas dumm geschrieben ich soll sie durch ein flag kennzeichnen.

      Wie wäre denn das richtige vorgehen beim flag setzen?? Kann ich sagen
      Setze überall die 1 wo ein treffen beim join zwischen tabelle 1 und tabelle 3 vorhanden ist? Wenn ja wie setzt man sowas um ich google schon die ganze zeit finde aber nicht wirklich was dazu.


      Dein statement verstehe ich auch nicht ganz was passiert dort?

      Danke für die hilfe!

      Comment

      Working...
      X