webForumDet fria alternativet
Logga in / Bli medlem

Syntaxfel i Access 2000 men inte i SQL

Databaser & SQL

2 svar · 185 visningar · startad av max

Medlem sedan jan. 200090 inlägg
Frågan#1

Hej

Har en select sats som fungerar finfint i SQL Server men det vill sig inte riktigt när man kör i Access 2000.

Koden är

SELECT A.AnbudID, P.Projektnamn, AL.Aktivitetnamn,
SUM(CASE A.DagID WHEN 1 THEN Tid ELSE 0 END) AS Man,
SUM(CASE A.DagID WHEN 2 THEN Tid ELSE 0 END) AS Tis,
SUM(CASE A.DagID WHEN 3 THEN Tid ELSE 0 END) AS Ons,
SUM(CASE A.DagID WHEN 4 THEN Tid ELSE 0 END) AS Tors,
SUM(CASE A.DagID WHEN 5 THEN Tid ELSE 0 END) AS Fre,
SUM(CASE A.DagID WHEN 6 THEN Tid ELSE 0 END) AS Lor,
SUM(CASE A.DagID WHEN 7 THEN Tid ELSE 0 END) AS Son
FROM Aktivitet AS A JOIN Projekt AS P ON A.AnbudID=P.AnbudID JOIN Aktivitetslista AS AL ON A.AktivitetID=AL.AktivitetID
WHERE A.AnstID = 4 AND A.VeckoNr = 46 AND A.Ar = 2001
GROUP BY A.AnbudID, P.Projektnamn, AL.Aktivitetnamn

Felmeddelandet blir "Syntaxfel (operator saknas) i frågeutrycket" med början vid den fetmarkerade raden.

Är det någon snäll själ som vet vad detta kan beror på?

Tack på förhand

Medlem sedan dec. 200012 464 inlägg
#2

Access har inte stöd för case, däremot finns det en funktion som heter iif

SUM(iif(A.DagID=1,1,0))

om villkoret är sant så blir resultatet 1 annars 0.

Medlem sedan jan. 200090 inlägg
#3

Tack LarsG.

Fungerade kanonbra.

Om man kunde nominera någon till nobelpriset i databaskunskaper, skulle du vara mitt val.

Lev väl

max

255 ms totalt · 4 externa anrop · v20260731065814-full.05830320
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)