2009-06-05 3 views
0

Ich habe eine große Tabelle, die unter anderem einen Nachnamen und ein Geburtsdatum enthält. Ich muss eine Abfrage schreiben, die nur die Zeilen zurückgibt, in denen die Nachnamen und Geburtsdaten denen in einer anderen Zeile der Tabelle entsprechen.Suchen von Zeilen mit doppelten Daten in MS Access

Dies ist eine Tabelle, die Informationen über Personen enthält, die einen Antrag gestellt haben. Ich möchte diejenigen identifizieren, die sich mehr als einmal beworben haben.

Ich kann mir einen Weg vorstellen, dies mit set-Operationen zu tun, aber MS Access scheint sie nicht zu implementieren.

Danke für Ihre Hilfe.

+0

Bitte posten Sie Ihre 'Set-Operationen', dann könnte Ihnen jemand sagen, ob sie in Access/ACE/Jet implementiert werden können. – onedaywhen

Antwort

0

Wie von DJ erwähnt, hat Zugriff über einen Assistenten Betrogenen für die Suche. Dieser Assistent verwendet die HAVING-Klausel. Also, wenn Sie sagen, dass Sie es in SQL machen wollen, würde ich vorschlagen, auf HAVING nachzulesen.

1

Besteht die Möglichkeit, dass der Nachname leicht falsch eingegeben wurde? Entweder zufällig oder absichtlich von der Person oder wo der Nachname je nach Muttersprache der Person unterschiedlich geschrieben werden könnte.

Wenn dies der Fall ist, sollten Sie den Soundex-Algorithmus oder die ersten zwei oder drei Zeichen des Vor- und Nachnamens verwenden. Wenn Sie den Soundex-Algorithmus verwenden möchten, würde ich vorschlagen, zuerst die Tabelle mit dem Wert des Soundex-Felds zu aktualisieren, anstatt es so lange zu berechnen, wie Sie es tun.

+0

Ich finde, dass der Soundex2-Algorithmus viel hilfreicher ist als das ursprüngliche Soundex, weil bei letzterem die Übereinstimmungen viel zu locker sind, um von großem Nutzen zu sein. –

+0

Ich wusste nicht einmal über Soundex2. Auch habe ich nachgedacht, nachdem ich geschrieben habe, dass Nordamerikaner viel mehr Vielfalt in Nachnamen haben kann, seitdem Soundex ursprünglich als ein Algorithmus erstellt wurde. –