webForumDet fria alternativet

Select (case...

9 svar · 283 visningar · startad av lillen_009

lillen_009Medlem sedan nov. 2002137 inlägg
#1

Jag vill byta ut 'LagX' mot '" & RS("Name") & "'
Får det inte att fungera med att bara sätta in det på plats

select sum (case when hemmalag = 'LagX' then hemmap
when bortalag = 'LagX' then bortap 
else 0 end) as totp
from games;
LarsGMedlem sedan dec. 200012 464 inlägg
#2

Du måste börja använda join.

select team, 
(select sum (case when hemmalag = t.team then hemmap
when bortalag = t.team then bortap 
else 0 end) 
from games ) as totp 
from teams as t
lillen_009Medlem sedan nov. 2002137 inlägg
#3

Ursäkta att jag inte kollat svaret förräns nu, men jag har varit (är)på semeter.

Är

case when hemmalag = t.team

samma sak som

case when hemmalag = RS("Name")

?

Jag upprepar denna sats för varje post i RS("name"). Därav tänkte jag att man ska använda RS("name") eftersom det är den som styr vad som ska hämtas.

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Nej, du behöver inte blanda in recordset alls. Det behövs enbart en fråga.

lillen_009Medlem sedan nov. 2002137 inlägg
#5

Hmm

Så här ser det ut. Har nu satt in de namnen jag använder. Gör jag som LarsG fick jag syntaxfel direkt efter select name (vi kommatecknet - så jag tog bort det...)

Detta avänder jag:

SQL12 = "select Name (select sum (case when Hometeam = t.name then homepoint when awayteam = t.name then awaypoint else 0 end) from games ) as totp from teams as t"

Och får följande fel:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E09)
[TCX][MyODBC]You have an error in your SQL syntax near '(select sum (case when Hometeam = t.name then homepoint when awayteam = t.name t' at line 1

(Visst kan man väl använda name? Eller är det ett förbjudet ord i MySQL)

@ndersMedlem sedan juni 200032 969 inlägg
#6

Vilken version av MySQL använder du? Det skall till en ganska ny version för att subselects ska stödjas.

Ett tips är att alltid ange vilken dbms och version som används, eftersom svaren ofta ser olika ut.

Mvh

K@llenMedlem sedan mars 20032 667 inlägg
#7

@nders skrev:

Vilken version av MySQL använder du? Det skall till en ganska ny version för att subselects ska stödjas.

Närmare bestämt version 4.1.x eller nyare. :)

K@llenMedlem sedan mars 20032 667 inlägg
#8

Re: Hmm

lillen_009 skrev:

(Visst kan man väl använda name? Eller är det ett förbjudet ord i MySQL)

Du har listan här:
http://www.mysql.com/doc/en/Reserved_words.html

lillen_009Medlem sedan nov. 2002137 inlägg
#9

Aha, kanske det var det..

Jag verkar använda den uråldriga versionen 3.23.56

ska genast prova att uppdatera

K@llenMedlem sedan mars 20032 667 inlägg
#10

Re: Aha, kanske det var det..

lillen_009 skrev:

Jag verkar använda den uråldriga versionen 3.23.56

ska genast prova att uppdatera

Notera att 4.1.x inte är en stabil mysql-version.

131 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)