Veröffentlicht 24. Juli 200322 j Hi, folgendes Problem: Man stelle sich eine Tabelle namens "TAB" vor. Diese hat 3 Spalten: "ID" - Primärschlüssel "NN" - Nachname "VN" - Vorname Nun das Beispiel: ID NN VN ----------------------- 01 MEYER Klaus 02 MEYER EGON Wie kann ich jetzt per SQL alle diejenigen Einträge dieser Tabelle finden, die innerhalb einer Spalte doppelt oder mehrfach vorkommen, ohne, dass ich den String "MEYER" angeben muß? Zu deutsch: Welche Einträge kommen wie oft mehrfach vor? Hatte da schon mal was in der Richtung: SELECT A.NN, B.NN FROM TAB A, TAB B WHERE A.NN = B.NN; Aber da rennt Oracle immer in eine Endlosschleife rein. need help
24. Juli 200322 j select a.username from users a, users b where a.username like b.username; stringvergleiche immer mit LIKE. so long
24. Juli 200322 j Original geschrieben von -leliel- stringvergleiche immer mit LIKE. *hüstel* Das ist ja irgendwo Ansichtssache, man sagt ja auch nicht, dass Variablen immer in einer gewissen Art und Weise benannten werden sollen. Ganz nebenbei ist das LIKE sehr Performance-intensiv, daher in vielen Fällen ungeeignet. Ansonsten passt du Lösung wohl ...
24. Juli 200322 j nach meinen erfahrungen geht ein stringvergleich mit '=' aber immer schief. Mit '=' vergleicht man i.d.R. auch nur Zahlen.
24. Juli 200322 j Zahlen und String, die in jedem Fall gleich sein müssen. Ich arbeite viel auf Datenbanken, die sehr weit entfernt sind, und dazu noch keine starke Maschine haben. Wenn ich also in Singapur auf einer DB arbeite und dann LIKE verwende, brauche ich fürs testen 10 Minuten pro Statement ... (schon gehabt)
24. Juli 200322 j hi, select nn, count(id) from tab group by nn liefert den nachnahmen und die anzahl nennungen in der tabelle hth ... [edit] mit having count(id) > 1 kommen nur die einträge mit mehrfachnennungen [/edit]
24. Juli 200322 j Achso, ich habe nur CBT's gemacht, und von Kollegen beigebracht bekommen. IKEA muss ja sparen ...
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.