ulrichbayern 10 Geschrieben 8. Juni 2012 Melden 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.
zahni 587 Geschrieben 9. Juni 2012 Melden 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden