Avatar billede apromis Praktikant
21. januar 2011 - 20:52 Der er 4 kommentarer og
1 løsning

Hardcore sql sætning ! -> med udregning

Hej allesammen.

Skal bruge en virkelig heftig mysql sætning som udregner når den selecter.

Håber i kan hjælpe mig :).

Min SQL skal finde alle de poster som har nedenstående :
(Felt 1 * 4) + (Felt 2 * 5) + (Felt 3 * 6) som ikke er indenfor +/- 10% af felt 4.

Eksempel 1:
Felt 1 = 5
Felt 2 = 5
Felt 3 = 1
Felt 4 = 80
SQL skal ikke finde denne post da :
(10*4)+(5*5)+(1*6) = 71
71 er inden for 72 til 88 (10%+/- af 80)

Eksempel 2:
Felt 1 = 5
Felt 2 = 4
Felt 3 = 2
Felt 4 = 100
SQL skal finde denne post da :
(5*4)+(4*5)+(2*6) = 58
58 er ikke inden for 90 til 110 (10%+/- af 100)


Hvordan klare jeg denne ?
Skriv endelig hvis du ikke forstår :)
På forhånd tak
Avatar billede Comasys Praktikant
21. januar 2011 - 21:44 #1
select * from tabel where (((felt1*5)+(felt2*5)+(felt3*6))< (felt4*1.1) AND ((felt1*5)+(felt2*5)+(felt3*6))> (felt4*0.9))
Avatar billede Comasys Praktikant
21. januar 2011 - 21:45 #2
Hov.. så lige den skulle finde det som var UDENFOR 10% .. sorry .. så må den se sådan her ud :

select * from tabel where (((felt1*5)+(felt2*5)+(felt3*6))> (felt4*1.1) AND ((felt1*5)+(felt2*5)+(felt3*6))< (felt4*0.9))
Avatar billede apromis Praktikant
21. januar 2011 - 22:02 #3
Hej Min ven.
Tusind tak for dit svar.
Koden virker dog ikke helt.

Der ingen fejl, men den finder intet.
Alle mine felter er float(10.2)
Har dette en betydning ?

På forhånd tak
Avatar billede Comasys Praktikant
21. januar 2011 - 22:39 #4
altså .. hvis kun du har dine to eksempler .. som du har skrevet her .. så har du en manuel regnefejl i eks.1. .. som så bliver 51 i stedet for 71..

Og tror så der var en lille fejl i mit også ..

det er skal være OR i stedet for AND .. når nu det er det udenfor de 10% den skal finde .. sorry

select * from tabel where (((felt1*5)+(felt2*5)+(felt3*6))> (felt4*1.1) OR ((felt1*5)+(felt2*5)+(felt3*6))< (felt4*0.9))
Avatar billede apromis Praktikant
21. januar 2011 - 22:53 #5
Det er så lækkert af dig !
Svar og pointsne er dine :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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