Avatar billede mccannon Nybegynder
02. september 2002 - 18:41 Der er 4 kommentarer og
1 løsning

SQL GROUP BY

Hejsa
Jeg har et lilel problem med group by.

fejl .:
Microsoft JET Database Engine error '80040e21'

You tried to execute a query that does not include the specified expression 'ID' as part of an aggregate function.

kode.:
SQL = "SELECT tblUgensvinder.ID, tblUgensvinder.BrugerID, tblUgensvinder.Uge, tblBruger.ID, tblBruger.Navn,"
SQL = SQL & " tblBruger.Postnr, tblbruger.Email, tblBruger.Alder, tblpostnr.Byen, tblPremie.VinderID, tblPremie.Premie,"
SQL = SQL & " tblpremie.Ugenr, tblQuestion.ID, tblQuestion.Question, tblquestion.Answer, tblQuestion.Uge"
SQL = SQL & " FROM (((tblQuestion LEFT JOIN tblPremie ON tblQuestion.Uge = tblPremie.Ugenr)"
SQL = SQL & " LEFT JOIN tblUgensvinder ON tblPremie.Vinderid = tblUgensvinder.Brugerid)"
SQL = SQL & " LEFT JOIN tblBruger ON tblUgensvinder.BrugerID = tblBruger.ID)"
SQL = SQL & " LEFT JOIN tblPostnr ON tblBruger.postnr = tblPostnr.Postnr"
SQL = SQL & " GROUP BY tblPremie.Vinderid"
SQL = SQL & " ORDER BY tblQuestion.uge DESC"

SQL .:
SELECT tblUgensvinder.ID, tblUgensvinder.BrugerID, tblUgensvinder.Uge, tblBruger.ID, tblBruger.Navn, tblBruger.Postnr, tblbruger.Email, tblBruger.Alder, tblpostnr.Byen, tblPremie.VinderID, tblPremie.Premie, tblpremie.Ugenr, tblQuestion.ID, tblQuestion.Question, tblquestion.Answer, tblQuestion.Uge FROM (((tblQuestion LEFT JOIN tblPremie ON tblQuestion.Uge = tblPremie.Ugenr) LEFT JOIN tblUgensvinder ON tblPremie.Vinderid = tblUgensvinder.Brugerid) LEFT JOIN tblBruger ON tblUgensvinder.BrugerID = tblBruger.ID) LEFT JOIN tblPostnr ON tblBruger.postnr = tblPostnr.Postnr GROUP BY tblUgensvinder.Uge ORDER BY tblQuestion.uge DESC
02. september 2002 - 18:55 #1
DU skal enten fjerne Group By-delen (anbefalet) eller inkludere alle felter i Group By:
.....GROUP BY tblUgensvinder.ID, tblUgensvinder.BrugerID, tblUgensvinder.Uge, tblBruger.ID, tblBruger.Navn, tblBruger.Postnr, tblbruger.Email, tblBruger.Alder, tblpostnr.Byen, tblPremie.VinderID, tblPremie.Premie, tblpremie.Ugenr, tblQuestion.ID, tblQuestion.Question, tblquestion.Answer, tblQuestion.Uge ORDER BY tblQuestion.uge DESC

Men jeg vil anbefale at fjerne "GROUP BY tblUgensvinder.Uge " helt

/Thomas
Avatar billede mccannon Nybegynder
02. september 2002 - 19:04 #2
hvorfor vil du anbefale det ?
02. september 2002 - 19:26 #3
Blot fordi, at Group By ikke har den store effekt. Hvis du kun ønsker unikke poster, kan du i stedet bruge:
Select DISTINCT tblUgensvinder.ID, tblUgensvinder.BrugerID, t......
Avatar billede mccannon Nybegynder
02. september 2002 - 20:40 #4
hov du må vel hellere få dine points..lol de letteste points du har fået :)
02. september 2002 - 21:14 #5
thnx :o)

...men de fås nu af og til endnu lettere (pointene :)
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