Löschen nach Tabellenvergleich

Löschen nach Tabellenvergleich

am 04.11.2006 11:00:35 von Stephan Dreisbach

Hallo,

mit
SELECT * from Schuelerstatistik st LEFT JOIN Schueler ss ON
st.Schuelernr=ss.nr where ss.nr IS NULL

bekomme ich alle Datensätze der Tab Schuelerstatistik, die es nicht
mehr in Schueler gibt. Aber wie bekomme ich die gelöscht? Ich sehe da
vermutlich vor lauter Bäumen den Wald nicht mehr.

Stephan

Re: Löschennach Tabellenvergleich

am 04.11.2006 11:42:16 von Andreas Kretschmer

Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)

Re: Löschen nach Tabellenvergleich

am 04.11.2006 17:23:38 von Claus Reibenstein

Stephan Dreisbach schrieb:

> mit
> SELECT * from Schuelerstatistik st LEFT JOIN Schueler ss ON
> st.Schuelernr=ss.nr where ss.nr IS NULL

SELECT * sollte man möglichst nie verwenden. Sollte sich einmal Deine
Tabellenstruktur ändern, könntest Du an solchen Stellen schnell auf die
Nase fallen.

> bekomme ich alle Datensätze der Tab Schuelerstatistik, die es nicht
> mehr in Schueler gibt. Aber wie bekomme ich die gelöscht?

DELETE FROM Schuelerstatistik
WHERE Schuelernr NOT IN (SELECT nr FROM Schueler)

Gruß. Claus

Re: Löschen nach Tabellenvergleich

am 04.11.2006 19:22:23 von Stephan Dreisbach

Andreas Kretschmer schrieb:


>
>delete from schuelerstatistik where schuelernr not in (select nr from schueler);
>
Danke

Re: Löschen nach Tabellenvergleich

am 05.11.2006 13:20:11 von Oliver Dietz

Hallo,

> mit
> SELECT * from Schuelerstatistik st LEFT JOIN Schueler ss ON
> st.Schuelernr=ss.nr where ss.nr IS NULL
>
> bekomme ich alle Datensätze der Tab Schuelerstatistik, die es nicht
> mehr in Schueler gibt. Aber wie bekomme ich die gelöscht? Ich sehe da
> vermutlich vor lauter Bäumen den Wald nicht mehr.

DELETE st FROM Schuelerstatistik st LEFT JOIN Schueler ss ON
st.Schuelernr=ss.nr WHERE ss.nr IS NULL


Schöne Grüße,
Oliver