Avatar billede langfinger Nybegynder
18. maj 2005 - 11:53 Der er 9 kommentarer og
2 løsninger

Udregn procentsats

Hej

Bruger:
strSQL = "Select * From stilling Order by sejre / nederlag DESC, sejre DESC, nederlag ASC, for DESC, [for] - [imod] desc"

Men den kan ikke dividere når f.eks. nederlag er 0.
En der kan hjælpe?

/Langfinger
Avatar billede jpvj Nybegynder
18. maj 2005 - 12:05 #1
Du bliver nødt til at lave 2 selects som du sætter sammen med en union:

strSQL =
"Select * From stilling Order by sejre / nederlag DESC, sejre DESC, nederlag ASC, for DESC, [for] - [imod] desc WHERE nederlag<>0

UNION

Select * From stilling sejre DESC, nederlag ASC, for DESC, [for] - [imod] desc WHERE nederlag=0"
Avatar billede langfinger Nybegynder
18. maj 2005 - 12:10 #2
strSQL = "Select * From stilling Order by sejre / nederlag DESC, sejre DESC, nederlag ASC, for DESC, [for] - [imod] desc WHERE nederlag<>0"

strSQL = "Select * From stilling sejre DESC, nederlag ASC, for DESC, [for] - [imod] desc WHERE nederlag=0"
Set rs = Conn.Execute(strSQL)

Sådan?
Avatar billede busschou Praktikant
18. maj 2005 - 14:05 #3
når du bruger union slår den dem sammen
---
strSQL = "Select * From stilling Order by sejre / nederlag DESC, sejre DESC, nederlag ASC, for DESC, [for] - [imod] desc WHERE nederlag<>0 UNION Select * From stilling sejre DESC, nederlag ASC, for DESC, [for] - [imod] desc WHERE nederlag=0"
Set rs = Conn.Execute(strSQL)
Avatar billede busschou Praktikant
18. maj 2005 - 14:06 #4
Eller for overskuelighedens skyld
---
strSQL = "Select * From stilling Order by sejre / nederlag DESC, sejre DESC, nederlag ASC, for DESC, [for] - [imod] desc WHERE nederlag<>0"

strSQL = strSQL & " UNION "

strSQL = strSQL & "Select * From stilling sejre DESC, nederlag ASC, for DESC, [for] - [imod] desc WHERE nederlag=0"
Set rs = Conn.Execute(strSQL)
Avatar billede langfinger Nybegynder
18. maj 2005 - 14:42 #5
Ok, jeg får følgende fejl når jeg bruger din kode busschou:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in ORDER BY clause.
Avatar billede busschou Praktikant
18. maj 2005 - 14:45 #6
der mangler også at stå Order By i den ene sql
---
strSQL = "Select * From stilling Order by sejre / nederlag DESC, sejre DESC, nederlag ASC, for DESC, [for] - [imod] desc WHERE nederlag<>0"

strSQL = strSQL & " UNION "

strSQL = strSQL & "Select * From stilling Order By sejre DESC, nederlag ASC, for DESC, [for] - [imod] desc WHERE nederlag=0"
Set rs = Conn.Execute(strSQL)
Avatar billede busschou Praktikant
18. maj 2005 - 14:50 #7
I øvrigt så betyder den union at alle dem som har 0 nederlag kommer nederst i dit recordset!
Nu kan jeg ikke lige lure hvad det er du gør for du sorterer som bare pokker jo ;o)
Men dem som ingen nederlag har de har jo så 100% sejr så at sige
Så hvis du ønsker dem øverst skal du bytte om på rækkefølgen af de to sql sætninger
Avatar billede langfinger Nybegynder
18. maj 2005 - 14:54 #8
Fint fint, point?
Avatar billede busschou Praktikant
18. maj 2005 - 14:58 #9
tjooh hvis du synes ;o)
Avatar billede langfinger Nybegynder
18. maj 2005 - 15:12 #10
Er det i orden at i deler dem?
Avatar billede busschou Praktikant
18. maj 2005 - 15:16 #11
fair for mig... fandt jo en mangel i forslaget, men opfandt det ikke ;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
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