hawkmaster: Unterschiede zweier MySQL Tabellen finden?

Hallo zusammen,
folgende Aufgabe:

Eine Tabelle "Abteilung" mit

Dep_ID Abt_Name
1      Verkauf
5      Innendienst
6      Außendienst
10     Support

eine zweite Tabelle "Abt_Kost"

ID Dep_ID Kostenstelle
1  5      64567
2  6      45000
3  2      334444
4  8      22334
5  10     11111

In der Tabelle Abt_Kost können nun wie im Beispiel zu sehen alte "Dep_ID" vorkommen., Wenn also eine Abteilung gelöscht wurde kann es vorkommen das in dieser Tabelle die alten noch drin bleiben.
Gelöscht werden sollte also Zeile 3 mit Dep_ID 2 und Zeile 4 mit Dep_ID 8 weil es diese ja nicht mehr gibt.
Frage:
Kann man sowas mit MYSQL Bordmitteln hinbekommen?

vielen Dank und viele Grüße
hawk

  1. Hi,

    Kann man sowas mit MYSQL Bordmitteln hinbekommen?

    ja, mit NOT IN und einem Subselect. Für die Zukunft solltest Du anstreben, die Tabellen mit einem hinreichend günstigen Typus zu versehen und Foreign-Key-Constraints einzusetzen.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. yo,

      ja, mit NOT IN und einem Subselect.

      oder aber einem klassischen OUTER JOIN

      Für die Zukunft solltest Du anstreben, die Tabellen mit einem hinreichend günstigen Typus zu versehen und Foreign-Key-Constraints einzusetzen.

      was im falle von mysql nicht immer möglich ist.

      Ilja

      1. Hallo Ilja,
        danke dir.

        oder aber einem klassischen OUTER JOIN

        hast du mir vielleicht ein Beispiel wie das geht?

        vielen Dank und viele Grüße
        hawk

        1. yo,

          hast du mir vielleicht ein Beispiel wie das geht?

          folgende abfrage zeigt dir die betroffenen datensätze an.

          SELECT k.*
          FROM Dep_ID Kostenstelle k
          LEFT JOIN Abt_Name a ON a.dep_id = k.dep_id
          WHERE a.dep_id IS NULL
          ;

          Ilja

          1. Hallo Ilja,
            danke dir, das war es was ich gesucht habe.
            schon wieder was gelernt :-)

            vielen Dank und viele Grüße
            hawk

    2. Hallo Cheatah,

      Für die Zukunft solltest Du anstreben, die Tabellen mit einem hinreichend günstigen Typus zu versehen und Foreign-Key-Constraints einzusetzen.

      Wenn du mir jetzt noch erklären würdest was du mit Typus und Foreign-Key-Constraints meinst?

      vielen Dank und viele Grüße
      hawk

      1. Hi,

        Wenn du mir jetzt noch erklären würdest was du mit Typus und Foreign-Key-Constraints meinst?

        Du hast wirklich keins von beiden in der Dokumentation gefunden? Das ist schade.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes