ulrichbayern 10 Geschrieben 8. Juni 2012 Melden Teilen Geschrieben 8. Juni 2012 Folgender Hintergrund: ich habe zu einem Datenstand x am '24.03.2012' viele Kundendaten hinzugefügt. Nun möchte ich herausfinden, welche von diesen neuen Daten eigentlich schon in der Datenbank vorkamen, und raus gelöscht werden könnten. Da davon 3 Felder zum überprüfen wichtig sind (Vorwahl, Telefon, Strasse) habe ich versucht, einen 3x-fach self join zu machen. Es kommen zwar dann Ergebnisse, diese stimmen aber nicht mit dem überein, was herauskommen soll. Z.B. sollte er ja Kunden finden, auf dessen Strasse und Nummer ein weiterer existiert (mit einem Datum <> '24.03.2012'. Mein Code: SELECT Kunden.KDNR, Kunden.KDName1, Kunden.KDName2, Kunden.KDStrasse From Kunden inner join Kunden as Kunden1 on Kunden.KDTelefon = Kunden1.KDTelefon inner join Kunden as Kunden2 on Kunden.KDStrasse = Kunden2.KDStrasse inner join Kunden as Kunden3 on Kunden.KDStadtvorwahl = Kunden3.KDStadtvorwahl Where Kunden.KDBearbeiterdatum = '24.03.2012' -- and Kunden.KDStadtvorwahl = '03338' Group by Kunden.KDNR, Kunden.KDName1, Kunden.KDName2, Kunden.KDStrasse Vielen Dank. Ulrich Zoeger. Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 9. Juni 2012 Melden Teilen Geschrieben 9. Juni 2012 Hm, ein Join mit der gleichen Tabelle ? Joins bracht man doch nur, wenn man mehr als eine Tabelle abfragt. Lasse doch mal Deine Joins weg und frage nur die die relevanten Spalten ab, dann in Where <> 'datum' und group by "spalte1,spalte,...". Eventuell hilft Dir auch ein Select distinct weiter. Hier eine kurze Übersicht zu den Befehlen: SQL SELECT DISTINCT Statement -Zahni Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.