Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

MySQL-Tabelle bereinigen mit DELETE - USING - JOIN

Frage Entwicklung Datenbanken

Mitglied: oliPro

oliPro (Level 1) - Jetzt verbinden

18.02.2010, aktualisiert 07:53 Uhr, 4859 Aufrufe, 3 Kommentare

Verknüpfte Tabellen bereinigen, wenn es einen Datensatz (der eigentlich verknüpft sein sollte) nicht gibt.

MySQL-Client-Version: 5.0.22

Vorhanden ist Tabelle A und Tabelle B, die über X miteinander verknüpft sein sollten.
Jetzt möchte ich prüfen, ob das auch immer der Fall ist.
Wo es nicht so ist, soll der komplette Eintrag aus Tabelle A gelöscht werden.

Mein Problem liegt darin, dass ich nicht weiss, wie ich abfragen soll.
So in der Art war mein Ansatz ...

DELETE FROM A
USING A, B
WHERE B.X nicht vorhanden
Mitglied: Biber
18.02.2010 um 09:37 Uhr
Moin oliPro,

da gibt es für geschätzte n mySQL-Anwender circa n hoch 3 verschiedene Möglichkeiten.
Mit LEFT JOIN, mit NOT EXISTS, mit Unterabfrage...

Würde ich von der Satzanzahl und Kardinalität der Daten in A und B abhängig machen.
Vermutlich das kürzeste wäre

01.
DELETE FROM A 
02.
 WHERE A.X <> ANY  (SELECT X FROM B); 
03.
-- oder gleichwertig das eher ungebräuchliche SOME 
04.
DELETE FROM A 
05.
 WHERE A.X <> SOME  (SELECT X FROM B);
Aber natürlich erstmal testen, was herauskommt bei einem
01.
SELECT A.* FROM A 
02.
 WHERE A.X <> ANY  (SELECT X FROM B);
Grüße
Biber
Bitte warten ..
Mitglied: oliPro
18.02.2010 um 09:47 Uhr
Hallo Herr Biber ...

danke für den Tipp! Leider liefern beide Methoden (AND + SOME) alle Datensätze zurück

Gruß, oliPro
Bitte warten ..
Mitglied: Biber
18.02.2010 um 10:31 Uhr
Moin oliPro,

deshalb habe ich ja geschrieben "Aber natürlich erstmal testen, was herauskommt bei einem SELECT.."

Dann nehmen wir eine der vielen anderen Möglichkeiten
01.
SELECT A.*   
02.
FROM A 
03.
LEFT JOIN B on A.X = B.X 
04.
WHERE B.X  IS NULL ;
-oder-
01.
SELECT A.* 
02.
FROM A 
03.
WHERE A.X NOT IN (SELECT B.X FROM B);
Wenn das plausibler aussieht, dann "SELECT A.*" durch "DELETE FROM A" ersetzen.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Datenbanken
MySQL - Join
Frage von ThoomaasDatenbanken4 Kommentare

Hallo alle zusammen! Ich habe zwei Tabellen in meiner Datenbank. Die eine beinhaltet Teams und einen Code zum Team ...

Datenbanken
Join über drei Tabellen
gelöst Frage von KimaroDatenbanken5 Kommentare

Hallo Admins, ich versuche gerade eine SQL Abfrage für meine Website zu basteln, aber irgendwie klappt das nicht so ...

Datenbanken
Inner join über 3 Tabellen
Frage von Fitzel69Datenbanken10 Kommentare

Hallo zusammen, ich habe folgendes Problem: Ich muß aus unserem ERP System mehrere Infos heraus ziehen. Hierfür benötige ich ...

Datenbanken
MySQL Abfrage um JOIN erweitern
gelöst Frage von datadexxDatenbanken14 Kommentare

Hallo SQL Experten, ich bräuchte mal wieder eure Hilfe Ich habe folgende Abfrage für eine Statistik welche soweit auch ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 6 StundenInternet3 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 13 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 1 TagWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 1 TagSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless17 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...