08. december 2004 - 20:50Der er
29 kommentarer og 2 løsninger
find dubletter udfra to kolonner
Jeg skal finde dubletterne i min tabel, hvor fornavn er fremkommer flere gange på forskellige efternavne, men IKKE dem hvor fornavnet har det samme efternavn.
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
SELECT Count(Tabel1.efternavn) AS AntalOfefternavn, Tabel1.fornavn, Tabel1.efternavn FROM Tabel1 GROUP BY Tabel1.fornavn, Tabel1.efternavn HAVING (((Count(Tabel1.efternavn))>1));
Du åbner db i databasevinduet > Fanen forespørgsler > Ny. Nu kommer der et popup vindue som du lukker igen UDEN at vælge nogle tabeller. Kopier min SQL-sætning ved at marker og CTL+C. I forespørgslen vælger du på øverste vandrette menulinie Vis > SQL-visning her indsætter du min SQL-sætning ved CTL+V.
Du skal nu ændre tabelnavnene og feltnavnene til de aktuelle.
Hvis du lægger din e-mail, kan jeg sende dig et eksempel.
SELECT tblNavn.Fornavn, tblNavn.Eftenavn, (Select count(*) from tblNavn TN where TN.Fornavn = tblNavn.Fornavn) AS Cnt FROM tblNavn GROUP BY tblNavn.Fornavn, tblNavn.Eftenavn HAVING ((((Select count(*) from tblNavn TN where TN.Fornavn = tblNavn.Fornavn))>1));
SELECT tblNavn.Fornavn, tblNavn.Eftenavn, (Select count(*) from tblNavn TN where TN.Fornavn = tblNavn.Fornavn) AS Cnt FROM tblNavn GROUP BY tblNavn.Fornavn, tblNavn.Eftenavn HAVING ((((Select count(*) from tblNavn TN where TN.Fornavn = tblNavn.Fornavn))>1)) ORDER BY tblNavn.Fornavn, tblNavn.Eftenavn;
Ok, jeg kan godt se at jeg skal udspecifisere det lidt mere :)
Jeg er ligeglad med hvor mange gange det samme fornavn+efternavn kommer. Det eneste jeg vil vide er hvor mange fornavne der kommer på hvor mange efternavne - ikke i tal, men vist een gang pr. sæt.
Dvs.
Hvis per,jensen og per,hansen findes skal de begge med een gang hver, uanset om de så står der 1000 gange. hvis der står hans,jensen 200 gange, men ikke andre med hans som fornavn, skal den(de 200) ikke med.
I am sure the SQL I gave gives you what you want appart from the fact that it shows you the number. SELECT tblNavn.Fornavn, tblNavn.Efternavn FROM tblNavn GROUP BY tblNavn.Fornavn, tblNavn.Efternavn HAVING ((((Select count(*) from tblNavn TN where TN.Fornavn = tblNavn.Fornavn))>1));
SELECT tblNavn.Fornavn, tblNavn.Efternavn, (Select count(*) from tblNavn TN where TN.Fornavn = tblNavn.Fornavn) AS FNCnt FROM tblNavn GROUP BY tblNavn.Fornavn, tblNavn.Efternavn HAVING ((((Select count(*) from tblNavn TN where TN.Fornavn = tblNavn.Fornavn))>1 And ((Select count(*) from tblNavn TN where TN.Fornavn = tblNavn.Fornavn))<>(SELECT Count(*) FROM tblNavn TN WHERE TN.Fornavn = tblNavn.Fornavn and TN.efternavn = tblNavn.efternavn GROUP BY tblNavn.Fornavn, tblNavn.Efternavn; )));
SELECT tblNavn.Fornavn, tblNavn.Efternavn FROM tblNavn GROUP BY tblNavn.Fornavn, tblNavn.Efternavn HAVING ((((Select count(*) from tblNavn TN where TN.Fornavn = tblNavn.Fornavn))>1 And ((Select count(*) from tblNavn TN where TN.Fornavn = tblNavn.Fornavn))<>(SELECT Count(*) FROM tblNavn TN WHERE TN.Fornavn = tblNavn.Fornavn and TN.efternavn = tblNavn.efternavn GROUP BY tblNavn.Fornavn, tblNavn.Efternavn; )));
Hvis jeg nu vil have vist nogle flere kolonner(f.eks. adresse og telefonnr) hvor skal jeg så sætte dem ind henne? de skal bare vises - ikke medtages i udvælgelsen.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.