forTeesSake Geschrieben 13. Februar 2006 Teilen Geschrieben 13. Februar 2006 hi und hallo, bin leider nicht der grosse sql crack und habe deswegen folgende frage: ich habe eine tabelle (vereinfacht dargestellt) tabelle 'kunden' - mitgliedsNr - kontonummer nun möchte ich aus der tabelle über ein sql statement alle einträge herausfinden bei denen mitgliedNr und kontonummer gleich sind. also im endeffekt doppelte einträge herausfiltern, und mir all diese datensätze anzeigen lassen. ich hab schon bisschen mit distinct gearbeitet, aber so komme ich glaube ich nicht hin. weiss jemand rat? vielen dank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 13. Februar 2006 Teilen Geschrieben 13. Februar 2006 select mitgliedsnr from kunden where mitgliedsnr = kontonummer liefert alle mitgliedsnummern, welche mit der kontonummer ident sind (voraussetzung bei mir: mitgliedsnummer ist der PK). wenn du keinen PK verwendest und doppelte rows hast: select distinct mitgliedsnr, kontonummer from kunden where mitgliedsnr = kontonummer liefert dir doppelte datensätze als eindeutige ergebniszeilen. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 13. Februar 2006 Teilen Geschrieben 13. Februar 2006 nun möchte ich aus der tabelle über ein sql statement alle einträge herausfinden bei denen mitgliedNr und kontonummer gleich sind. SELECT * FROM kunden WHERE mitgliedsNr = kontonummer ; Das gibt dir die Datensätze bei dennen mitgliedsNr und Kontonummer gleich sind. also im endeffekt doppelte einträge herausfiltern, und mir all diese datensätze anzeigen lassen. Allerdings vermute ich das du eher sowas wie das hier suchst SELECT DISTINCTROW First(kunden.mitgliedsNr), First(kunden.Kontonummer), Count(kunden.mitgliedsNr) AS AnzahlVonDuplikaten FROM kunden GROUP BY kunden.mitgliedsNr, kunden.Kontonummer HAVING (((Count(kunden.mitgliedsNr))>1) AND ((Count(kunden.Kontonummer))>1)); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 13. Februar 2006 Autor Teilen Geschrieben 13. Februar 2006 SELECT DISTINCTROW First(kunden.mitgliedsNr), First(kunden.Kontonummer), Count(kunden.mitgliedsNr) AS AnzahlVonDuplikaten FROM kunden GROUP BY kunden.mitgliedsNr, kunden.Kontonummer HAVING (((Count(kunden.mitgliedsNr))>1) AND ((Count(kunden.Kontonummer))>1)); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 13. Februar 2006 Teilen Geschrieben 13. Februar 2006 z.b. 1. kunde mitgliedsnummer = 90 kontonummer = 12345 2. kunde mitgliedsnummer = 90 kontonummer = 12345 SELECT T1.MNr FROM Kunden T1 JOIN Kunden T2 ON (T1.MNr = T2.MNr AND T1.KNR = T2.KNr) Liefert dir alle Mitgliedsnummern, die auf dein obiges Beispiel passen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 13. Februar 2006 Autor Teilen Geschrieben 13. Februar 2006 SELECT T1.MNr FROM Kunden T1 JOIN Kunden T2 ON (T1.MNr = T2.MNr AND T1.KNR = T2.KNr) Liefert dir alle Mitgliedsnummern, die auf dein obiges Beispiel passen. hiho. also wenn ich das statement ausführe bekomme ich immer ALLE datensätze. is ja auch klar glaube ich denn T1 und T2 sind ja immer gleich, also erfolg der join über alle rows und alle datensätze wrden ausgegeben...:confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 13. Februar 2006 Teilen Geschrieben 13. Februar 2006 is ja auch klar glaube ich denn T1 und T2 sind ja immer gleich, also erfolg der join über alle rows und alle datensätze wrden ausgegeben...:confused: klar... Denkfehler bei mir Muss ich mir nochmal durch den Kopf gehen lassen. EDIT: Hast du noch ein eindeutiges Feld in jedem Satz? Also z.B. eine ID? SELECT T1.MNr FROM Kunden T1 JOIN Kunden T2 ON (T1.MNr = T2.MNr AND T1.KNR = T2.KNr AND T1.id <> T2.id) sollte nämlich gehen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 20. Februar 2006 Autor Teilen Geschrieben 20. Februar 2006 hallo nochmals, also ich versuche mich nun schon ne woche weiter an dem passenden statement, finde aber leider keines... hat jemand in der zwischenzeit noch eine idee gefunden und sich bloss nicht getraut sie zu posten? :hells: vielen dank für alle tipps im vorraus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.