Avatar billede lingo Nybegynder
31. maj 2005 - 11:15 Der er 9 kommentarer og
1 løsning

Et mindre SQL opslag

Er der nogen der ved hvordan man i Access i SQL mode under forespørgelser, kan forespørge efter alle poster der udfra en given tabel eksistere mere end 1/2 gange?
En kunde har et ordrenummer og et telefonnummer. Ordrenummeret er altid unikt, men det er telefonnummeret ikke.
Jeg vil her søge efter alle de telefonnumre der forekommer mere end en gang.

Håber der er nogen der kan hjælpe...
Tusinde tak.
Avatar billede terry Ekspert
31. maj 2005 - 11:23 #1
can we see some tables/fields please?

Normally kunde information would be in one table and orders in another. and if you have more than one telephone for each kunde then you could also have these in another table
Avatar billede imago-dei Nybegynder
31. maj 2005 - 11:31 #2
Det bliver vel noget lignende

Select ordrenummer, count(telefonnummer) from tabel where count(telefonnummer) > 1 group by count(telefonnummer)

Har ikke afprøvet queryen, så er ikke sikker, men tror du skal bruge noget lignende.
Avatar billede lingo Nybegynder
31. maj 2005 - 11:51 #3
Tabellen hedder HovedTB. Felterne der er intresante er Ordrer med den primære nøgle, samt Telefonnummer.
Jeg har prøvet overstående query, som desværre ikke virker. Jeg har skrevet følgende:

SELECT HovedTB.Telefonnummer, HovedTB.Ordernr, HovedTB.Dato
FROM HovedTB
where count(telefonnummer)>1
order by telefonnummer;

Den melder fejl på where sætningen.
Avatar billede terry Ekspert
31. maj 2005 - 12:13 #4
I think you need a kundenummer field in th equery and using count(telefonnummer) only gives you the number of records (ordre) a kunde has NOT how many telephone numbers.
Avatar billede lingo Nybegynder
01. juni 2005 - 09:35 #5
Hello Terry... The table have 3 columbs. Ordernummer (key), telefonnummer og notat.
What do you mean, that I need a kundenummer?
Could you write a suggestion?
Avatar billede terry Ekspert
01. juni 2005 - 15:19 #6
hi
I had another think about what you are after and I think I have an answer

SELECT HovedTB.telefonnummer, Count(HovedTB.telefonnummer) AS CountOftelefonnummer
FROM HovedTB
GROUP BY HovedTB.telefonnummer;


Because your ordrenummer is unique then you cant include this in the query otherwise you will get one record for each order and that means you are back to where you started.
Avatar billede terry Ekspert
01. juni 2005 - 15:24 #7
and this is another idea you could maybe use

SELECT HovedTB.OrderNumber, HovedTB.telefonnummer, (SELECT count(telefonnummer) FROM HovedTB T where T.telefonnummer = HovedTB.telefonnummer) AS Antal
FROM HovedTB
WHERE ((((SELECT count(telefonnummer) FROM HovedTBT where T.telefonnummer = HovedTB.telefonnummer))>1))
Avatar billede terry Ekspert
02. juni 2005 - 12:07 #8
DOES THIS HELP?
Avatar billede terry Ekspert
06. juni 2005 - 14:48 #9
can we close this question now please?
Avatar billede lingo Nybegynder
15. juni 2005 - 10:39 #10
Thank you Terry. This is perfect :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