Announcement

Collapse
No announcement yet.

Grundlagen ?

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

  • Grundlagen ?

    Hallo,

    ich häng' gerade an einer Abfrage.
    Ich habe zwei Tabellen. Beide sind über einen foreign key eindeutig verknüpft, nennen wir die FK-Spalte "Vorgangsnr". Jede Vorgangsnr kommt nur genau einmal vor, ist also auch eine Art Primary Key. Zu jedem Satz in Tabelle 2 gibt es genau einen Satz in Tabelle 1. Die Umkehrung gilt aber nicht, das heißt Tabelle 1 hat mehr Records als Tabelle 2.
    Was ich will:
    Ich möchte alle Sätze aus Tabelle 1, zu denen es keinen Satz in Tabelle 2 gibt, für den gilt "1.Vorgangsnr=2.Vorgangsnr"..

    Ich schätze, das ist einfach, aber im Moment...

    Danke im voraus.

    MfG
    datawilli

  • #2
    Hallo datawilli,

    wenn man Tabellen mit einer Beziehung untereinander hat, z.B. wie bei Dir eine 1:n, dann joint man, um die Datensätze im gesamten zu bekommen.

    Mit eine LEFT JOIN bekommt man alle Datensätze aus der "linken" Tabelle und die DS aus der "rechten", die der JOIn Bedingung entsprechen, sonst nix (also NULL) Werte.

    Das kannst Du für Deine Anforderung nutzen, von Tab1 auf Tab2 und dann filtern, was bei Tab2 NULL ist.
    Beispiel:
    [highlight=SQL]SELECT T1.*
    FROM Tabelle1 AS T1
    LEFT JOIN Tabelle2 AS T2
    ON T1.VorgangsNr = T2.VorgangsNr
    WHERE T2.VorgangsNr IS NULL[/highlight]
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Hallo O. Helper,

      danke für die schnelle Antwort. Hat sofort funktioniert.

      Gruß
      datawilli

      Comment

      Working...
      X