Avatar billede mm12010 Nybegynder
16. oktober 2002 - 12:52 Der er 11 kommentarer og
1 løsning

SQL med DISTINCT og ORDER BY

Jeg har følgende SQL-sætning:

rs = conn.Execute("SELECT DISTINCT emne FROM forum Order BY ID DESC");

men den giver følgende fejl:


Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] ORDER BY clause (ID) conflicts with DISTINCT.

/3SEM04/vis_forum_oversigt.asp, line 111

Hvordan laver jeg det så det virker?
Avatar billede hbhansen Nybegynder
16. oktober 2002 - 12:54 #1
rs = conn.Execute("SELECT ID, DISTINCT emne FROM forum Order BY ID DESC");
Avatar billede hbhansen Nybegynder
16. oktober 2002 - 12:55 #2
Det er fordi du kun beder den om at hente emne fra forum så kan den jo ikke sortere på id når det ikke er hentet.!
Avatar billede mm12010 Nybegynder
16. oktober 2002 - 13:02 #3
det giver følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'DISTINCT emne'.

/3SEM04/vis_forum_oversigt.asp, line 111
Avatar billede hbhansen Nybegynder
16. oktober 2002 - 13:05 #4
Så prøv:
rs = conn.Execute("SELECT DISTINCT ID, DISTINCT emne FROM forum Order BY ID DESC");
Avatar billede mm12010 Nybegynder
16. oktober 2002 - 13:09 #5
Samme fejl...
Avatar billede chriscross Nybegynder
16. oktober 2002 - 13:34 #6
Prøv:
"select distinct emne,id from forum order by id desc"

( det er i hvert fald det den syntaks jeg plejer at bruge i MSSQL )

MVH
Chriscross
Avatar billede mm12010 Nybegynder
16. oktober 2002 - 13:39 #7
chriscross>> så virker DISTINCT ikke...
Avatar billede chriscross Nybegynder
16. oktober 2002 - 13:44 #8
Hmm, du mener at så har flere id med samme emne ?

- så skal der noget mere acanceret sql til, og der må jeg indrømme at jeg i disse situationer plejer at hente hjælp hos en der er virkelig hård til sql - og som desværre har ferie nu :-(
Så medmindre jeg mirakuløst kommer på løsningen er jeg nok nødt til at melde pas, desværre

;-)
Chriscross
Avatar billede mm12010 Nybegynder
16. oktober 2002 - 16:35 #9
Ok - ellers tak.

Jeg holder spørgsmålet åbent en dag eller to - i tilfælde af pludselig indtræffen af mirakler :o)
Avatar billede mm12010 Nybegynder
17. oktober 2002 - 11:55 #10
Ingen mirakler...

Jeg må finde på noget andet.

Ellers tak for hjælpen.
Avatar billede chriscross Nybegynder
17. oktober 2002 - 11:57 #11
Ok, det var så lidt ( i alle betydninger )
;-)
Chriscross
Avatar billede mm12010 Nybegynder
23. oktober 2002 - 11:54 #12
Så indtraf miraklet - efter lang tid og meget bøvl med MS Access fik jeg denne SQL-sætning:

rs = conn.Execute("SELECT forum.emne, Max(forum.ID) AS MaksOfID FROM forum GROUP BY forum.emne ORDER BY Max(forum.ID) DESC;");
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
Kurser inden for grundlæggende programmering

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