Avatar billede hej45 Nybegynder
28. maj 2001 - 22:25 Der er 1 kommentar og
1 løsning

group by

SELECT [forretningsforbindelser].[kundeid], [forretningsforbindelser].[kundetitel], [forretningsforbindelser].[kundenavn], [forretningsforbindelser].[brancheid], [forretningsforbindelser].[forsikringsrådgiverid], [forsikringsaftaler].[policetype], [roller].[rolleid], [roller].[rollenavn]
FROM ((forretningsforbindelser INNER JOIN [ff-rel] ON [forretningsforbindelser].[kundeid]=[ff-rel].[kundeid]) INNER JOIN forsikringsaftaler ON [ff-rel].[policeid]=[forsikringsaftaler].[policeid]) INNER JOIN roller ON [ff-rel].[rolleid]=[roller].[rolleid]
WHERE [forretningsforbindelser].[kundeid]=[indtast kundeid]
GROUP BY [roller].[rolleid];

hvorfor virker denne group by ikke?
(får meddelse om at jeg prøver at eksekvere en forespl som ikke inkluderer det specifike udtryk kundeid som del af en aggregeret funktion!?)
ps. alt virker fint uden group by
Avatar billede ij Nybegynder
29. maj 2001 - 09:10 #1
Det er fordi du prøver at gruppere efter noget. Der er jo ingen aggregat funktion at gruppere efter.
Hvis du skal gruppere efter noget, skal du bruge count, avg, sum eller en af de andre aggregat funktioner, som det giver mening at gruppere efter.
Hvis du forestiller dig det recordset der kommer ud af ovenstående SQL, hvordan ville det så se ud?
Avatar billede proaccess Nybegynder
29. maj 2001 - 09:42 #2
Burde du ikke bruge

...ORDER BY [roller].[rolleid]; i stedet for GROUP BY ???

Fejlmeddelelsen skyldes at du skal medtage ALLE felter (som der ikke laves beregninger på) i din GROUP BY clause.
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
Computerworld tilbyder specialiserede kurser i database-management

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