Avatar billede loukas Mester
16. november 2006 - 13:19 Der er 14 kommentarer og
1 løsning

dubletter fra forespørgsel

Hvordan undgår jeg at samme person kommer emd flere gange?
Har prøvet med DISTINCT som i kan se, men det virker ikke.

SELECT DISTINCT Persondata.ABON, Persondata.Dato, Persondata.Fornavn, [Personkoder-Fælles Brochurer].Kode
FROM [Personkoder-Fælles Brochurer] INNER JOIN Persondata ON [Personkoder-Fælles Brochurer].ID = Persondata.ID
WHERE (((Persondata.ABON)=No) AND ((Persondata.Dato)>=#1/1/2006#) AND (([Personkoder-Fælles Brochurer].Kode) Like "*DKHH*"));
Avatar billede jensen363 Forsker
16. november 2006 - 13:24 #1
Der er minimum een af oplysningerne i din select som ikke er identisk for den/de pågældende personer
Avatar billede loukas Mester
16. november 2006 - 13:33 #2
Hmm, den skal jeg lige ha' forklaret ;-)
Avatar billede sw_red_6 Nybegynder
16. november 2006 - 13:39 #3
hvis du får dubletter så er det fordi en af attributterne ikke er DISTINCT.
Har du prøvet, uden jeg ved om det vil have nogen betydning, at sætte det du vil have er DISTINCT i din WHERE ?
Avatar billede jensen363 Forsker
16. november 2006 - 13:50 #4
Princippielt er det det samme som sw_red_6 jeg mener :o)
Avatar billede jensen363 Forsker
16. november 2006 - 13:51 #5
Den/de personer der er dubletter i dit udtræk, er alle rækker identiske på alle poster ???
Avatar billede loukas Mester
16. november 2006 - 13:58 #6
Ja Personerne er identiske, men Personkoder-Fælles Brochurer].Kode er ikke
Altså én person kan godt have flere Personkoder-Fælles Brochurer].Kode, men jeg vil kun have dem ud én enkelt gang selv om de har flere Personkoder-Fælles Brochurer].Kode
Avatar billede jensen363 Forsker
16. november 2006 - 14:01 #7
Så skulle dette kunne gøre det :

SELECT DISTINCT Persondata.ABON, Persondata.Dato, Persondata.Fornavn
FROM [Personkoder-Fælles Brochurer] INNER JOIN Persondata ON [Personkoder-Fælles Brochurer].ID = Persondata.ID
WHERE (((Persondata.ABON)=No) AND ((Persondata.Dato)>=#1/1/2006#) AND (([Personkoder-Fælles Brochurer].Kode) Like "*DKHH*"));
Avatar billede loukas Mester
16. november 2006 - 14:06 #8
Jo, som sw_red siger må det være i WHERE jeg skal have DISTINCT, men hvordan gør jeg lige det?
Det er [Personkoder-Fælles Brochurer].ID, der skal være DISTINCT.


SELECT Persondata.ABON, Persondata.Dato, Persondata.Fornavn, [Personkoder-Fælles Brochurer].Kode, [Personkoder-Fælles Brochurer].ID
FROM [Personkoder-Fælles Brochurer] INNER JOIN Persondata ON [Personkoder-Fælles Brochurer].ID = Persondata.ID
WHERE (((Persondata.ABON)=No) AND ((Persondata.Dato)>=#1/1/2006#) AND (([Personkoder-Fælles Brochurer].Kode) Like "*DKHH*"));
Avatar billede loukas Mester
16. november 2006 - 14:09 #9
OK, det virker jo ;-)
Men hvorfor?
Avatar billede sw_red_6 Nybegynder
16. november 2006 - 14:12 #10
det jensen363 skrev 16/11-2006 14:01:02 skulle være det du leder efter.
DISTINCT skal være lige efter SELECT, hvis det jeg skrev var forvirrende beklager jeg, men det jeg mente var at du skulle tjekke på det der skulle være DISTINCT, ikke at "DISTINCT" skulle ned i WHERE-klausulen
Avatar billede sw_red_6 Nybegynder
16. november 2006 - 14:13 #11
hov.. og det virker fordi [Personkoder-Fælles Brochurer].Kode blev slettet fra "DISTINCT"-listen
Avatar billede loukas Mester
16. november 2006 - 14:15 #12
SUPER, smider i ikke et svar, så siger jeg mange tak for hjælpen.
Avatar billede jensen363 Forsker
16. november 2006 - 14:18 #13
Svar :o)
Avatar billede jensen363 Forsker
16. november 2006 - 14:19 #14
Svar igen
Avatar billede sw_red_6 Nybegynder
16. november 2006 - 14:20 #15
ingen point til mig. Det var trods alt jensen363 der kom med løsningen ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester