13. februar 2006 - 21:41
Der er
35 kommentarer og 1 løsning
a - b max mindst give 0
Hej Jeg skal minus 2 variabler med hinanden, og det må mindst give nul, hvordan klarer man den? og det skal kunne bruges i sådan en sætning her: set pris=conn.execute("select * from priser order by a-b") hvis a er 100 og b 200 skal det give 0
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
13. februar 2006 - 21:52
#1
Jeg er ikke helt med på dit problem. Hvad er formålet - ønsker du at alle de tilfælde hvor a>b skal vises i en "vilkårelig" rækkefølge hvor sorteringen ikke er styret af a-b ?
13. februar 2006 - 21:54
#2
der hvor a er større end b, skal resultatet bare være 0
13. februar 2006 - 21:54
#3
tilfælde hvor b er større end a, fx 200-100 skal resultatet være 100
13. februar 2006 - 21:57
#4
ok, så skal du bare bruge order by abs(a-b) så får du altid positive værdier ud
13. februar 2006 - 22:04
#5
Et bud: "SELECT *, IF(a-b>0,a-b,0) AS aMinuSb FROM priser ORDER BY aMinuSb"
13. februar 2006 - 22:04
#6
så giver 2-3 = 1 det skal give 0
13. februar 2006 - 22:06
#7
ok. Hmm så skal jeg lige tænke. Du skrev bare : tilfælde hvor b er større end a, fx 200-100 skal resultatet være 100 :-)
13. februar 2006 - 22:06
#8
nielle vil du forklare nærmere?
13. februar 2006 - 22:07
#9
200-100=100 ;) 100-200=-100 (her skal det give 0 og ikke -100)
13. februar 2006 - 22:09
#10
Gerne: IF(a-b>0,a-b,0) - giver a-b hvis a>b og 0 ellers. Med "AS aMinuSb" bliver denne værdi kendt under aliaset "aMinuSb". Det er dette alias som bruges under "ORDER BY" ledet.
13. februar 2006 - 22:09
#11
13. februar 2006 - 22:10
#12
prøver det lige....
13. februar 2006 - 22:12
#13
min fejl.... Godt jeg ikke lever af at regne...
13. februar 2006 - 22:14
#14
Unknown column 'aMinuSb' in 'order clause'
13. februar 2006 - 22:16
#15
Virker denne version (pånær sorterimngen): "SELECT *, IF(a-b>0,a-b,0) AS aMinuSb FROM priser"
13. februar 2006 - 22:22
#16
ja
13. februar 2006 - 22:28
#17
Så prøv denne: "(SELECT *, IF(a-b>0,a-b,0) AS aMinuSb FROM priser) ORDER BY aMinuSb DESC"
13. februar 2006 - 22:33
#18
der kommer stadig en fejl.... kan det være fordi jeg gange aMinuSb med c?
13. februar 2006 - 22:35
#19
Hvor gør du det?
13. februar 2006 - 22:38
#20
"(SELECT *, IF(a-b>0,a-b,0) AS aMinuSb FROM priser) ORDER BY (aMinuSb * C) DESC"
13. februar 2006 - 22:38
#21
der
13. februar 2006 - 22:40
#22
Hvorfor ikke sådan? "(SELECT *, IF(a-b>0,a-b,0)*c AS aMinuSbGangEc FROM priser) ORDER BY aMinuSbGangEc DESC"
13. februar 2006 - 22:43
#23
Eller måske: "SELECT (SELECT *, IF(a-b>0,a-b,0) AS aMinuSb FROM priser) ORDER BY (aMinuSb * C) DESC"
13. februar 2006 - 22:43
#24
tror det virker nu, skal bare lige tilrettes... smid et svar
13. februar 2006 - 22:46
#25
Hvilken af versionerne? ... og et svar :^)
13. februar 2006 - 22:59
#26
virker desværre ikke... der kommer bare ingen fejl
13. februar 2006 - 23:01
#27
sådan her er den skrevet: set pris=conn.execute("(SELECT *, IF("& session("pm1") &"-m2>0,"& session("pm1") &"-m2,0) * "& session("pm1") &" * m1 + abb + sms * "& session("psms") &" + mms * "& session("pmms") &" AS pris FROM abb) order by pris DESC")
13. februar 2006 - 23:01
#28
Hvis der ikke kommer nogen fejl, så må der være noget som virker :^) Hvad sker der? Hvad sker der ikke? Hvad forventede du at der skulle ske?
13. februar 2006 - 23:03
#29
at den billigste vil komme først
13. februar 2006 - 23:07
#30
Hvis den billigste skal først så skal det være ASC (Ascending = Stigende) i stedet for DESC (Descending = Faldende).
13. februar 2006 - 23:11
#31
kan jeg ikke skrive variablen pris et sted så jeg kan se hvordan den sorterer?
13. februar 2006 - 23:13
#32
så virker det, bortset fra at 0 kommer til sidst?
13. februar 2006 - 23:14
#33
kan det laves nemt?
13. februar 2006 - 23:15
#34
Sådan? Set rs = Conn.Execute("(SELECT *, IF(" & Session("pm1") & "-m2>0," & Session("pm1") & "-m2,0) * " & Session("pm1") & " * m1 + abb + sms * " & Session("psms") & " + mms * " & Session("pmms") & " AS pris FROM abb) ORDER BY pris ASC") Response.Write rs("pris")
13. februar 2006 - 23:16
#35
0 burde ikke komme til sidst? (Bliver altså nødt til at smutte for i dag nu - g'nat :^)
14. februar 2006 - 15:45
#36
Fik du det til at virke 100%?
Kurser inden for grundlæggende programmering