Datenbank bereinigen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Datenbank bereinigen

Re: Datenbank bereinigen

von Steffan » So, 30.11.2008 16:41

Besten Dank, hat funktioniert!

Schönen Sonntag noch,
Steffan

Re: Datenbank bereinigen

von komma4 » So, 30.11.2008 15:08

ungetestet:

Code: Alles auswählen

DELETE 
FROM ARTISTS AS ARTISTS
WHERE ARTISTS."ArtistID" NOT IN 
   ( SELECT DISTINCT DISCS."ArtistID"  FROM DISCS )
Viel Erfolg !

Datenbank bereinigen

von Steffan » So, 30.11.2008 14:04

hallo zusammen,

ich habe eine CD-Datenbank mit verschiedenen Tabellen.
Tabelle: DISCS
Felder: DiscID, ArtistID, ...
Tabelle: ARTISTS
Felder: ArtistID, ArtistName, ...
...

Folgender Fall:
die letzte CD eines bestimmten Interpreten wird gelöscht
Dann existiert der Interpret immer noch in der Tabelle ARTISTS.
Ich benötige also eine SQL-Befehl, der alle Datensätze aus der Tabelle ARTISTS löscht, deren ID NICHT in Tabelle DISCS vorkommt.

Das Anzeigen dieser Datensätze funktioniert mit:

Code: Alles auswählen

SELECT ArtistID 
FROM ARTISTS 
GROUP BY ArtistID 
HAVING (
	SELECT COUNT (*) 
	FROM DISCS 
	WHERE DISCS.ArtistID = ARTISTS.ArtistID
)=0

Allerdings bekomme ich es nicht hin diese Datensätze zu löschen.
Weiß jemand Rat?

Danke,
Steffan

Nach oben