gedeelten van waarden matchen

Status
Niet open voor verdere reacties.

system_Paul

Nieuwe gebruiker
Lid geworden
21 apr 2004
Berichten
3
HELP!

Ik zit met het volgende probleem:

Ik heb 2 databases (tabellen) in access en nu het volgende, in allebei de tabellen staan contactgegevens. Nu wil ik weten welke er dubbel zijn. Op zich peanuts maar het probleem ist volgende:

Ik wil selecteren op voorletters en naam, alleen zijn worden niet alle dubbelen geselecteerd omdat de voorletters soms niet helemaal kloppen:

tabel 1 tabel 2
naam | voorletters naam | voorletters

Pietsen | P. Pietsen | H.P.
Jansen | J. Jansen | J.J.
de Vries | K.L. de Vries | K.
van Alphen | P.A.M. van Alphen | A.
Klaassen | J. Klaassen | J.

etc. etc.

Bovenstaande moet ie dus meetellen als dubbelen, het idee van mij was om met LIKE dit te proberen, ik dacht namelijk dat hij met like zoekt of dat gedeelte in de andere kolom aanwezig was. Tot op heden nog niet gelukt, erg lastig probleem al zeg ik hetzelf.

Hulde voor de gene die hier antwoord op weet!

Alvast bedankt!:thumb:
 
Ik berijp niet hellemaal wat je met elkaar wil vergelijken, misschien dat kun je aangeven welke velden in beide tabellen zitten en welke met elkaar vergeleken moeten worden
 
Geplaatst door Hooija
Ik berijp niet hellemaal wat je met elkaar wil vergelijken, misschien dat kun je aangeven welke velden in beide tabellen zitten en welke met elkaar vergeleken moeten worden

Ik heb dus 2 tabellen met daarin allebei de velden naam en voorletters

Ik selecteer dus al op naam:


SELECT DISTINCT tabel1.naam, tabel1.voorletters, tabel2.naam, tabel2.voorletters
FROM tabel1, tabel2
WHERE tabel1.naam = tabel2.naam AND ............

op de puntjes heb ik dus geprobeerd: tabel1.voorletters LIKE tabel2.voorletters maar dit geeft niet het gewenste resultaat.

In de ene tabel heeft iemand nl. de bv de voorletters P. en in de andere tabel: P.H.
Dit wil ik zien als dezelfde persoon omdat de ene initiaal 1x voorkomt in de andere tabel en dus wil ik deze dan als hetzelfde record beschouwen.

Het idee hierbij is dat ik dan een goede schatting heb van het aantal dubbele gegevens.
Is het volgens het managment teveel, dan moet er actie worden ondernomen en 1 centrale database worden geimplementeerd (waarvan de 2 werkmaatschappijen dan gebruik van gaan maken).

Al met al een vrij lastig klusje lijkt me :8-0:
 
Misschien dat je hier met de functie RIGHT kan werken om een gedeelte van de voorletters te selecteren (je vraagt dan alleen het aangegeven aantal teken op beginnend aan de rechterkant):

SELECT DISTINCT tabel1.naam, tabel1.voorletters, tabel2.naam, tabel2.voorletters
FROM tabel1, tabel2
WHERE tabel1.naam = tabel2.naam AND RIGHT(tabel1.voorletters,2) = RIGHT(tabel2.voorletters,2)
 
probeer het volgende eens:
SELECT Table1.Voorletters, Table1.Naam, Table2.Voorletters, Table2.Naam
FROM Table1 LEFT JOIN Table2 ON Table1.Naam = Table2.Naam
WHERE (((Table2.Voorletters) Like "*" & [Table1.Voorletters] & "*"));
 
Thanks allemaal!

Beetje aanpassen maar tis me gelukt om toch een indicatie eruit te krijgen, alleen niet waterdicht, maar ja das bijna onbegonnen werk, komt de inconsistente database...organisatie-veld door elkaar etc. :confused:

Maar goed, iig bedankt voor het aanwijzen van de denkrichting... :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan