saturdayMedlem sedan jan. 2007133 inlägg Hej, jag har en SQL fråga som ser ut så här:
select lang, (select count(*) from visitorFacts) as totalVisitor, count(*) as number from visitorFacts group by lang order by totalLang desc
Denna har jag en gång i tiden utvecklat i en stored procedure och har fungerat ypperligt. Men, nu ska jag använda samma fråga, fast mot en Accessdatabas och skriver den direkt innanför ASP taggarna, i ASP-filen, och helt plötsligt får jag error. Jag har självklart bytt ut namnen så att de passar för den nya databasen.
Jag får följande error:
Error Type:
Microsoft JET Database Engine (0x80040E14)
The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
Någon som vet varför?
@ndersMedlem sedan juni 200032 969 inlägg Number är ett reserverat ord i JET och Access. Byt namn på ditt alias.
saturdayMedlem sedan jan. 2007133 inlägg Tack, men då kom nästa error:
Microsoft JET Database Engine (0x80040E10)
No value given for one or more required parameters.
@ndersMedlem sedan juni 200032 969 inlägg Då är det något tabell- eller fältnamn du angett som inte finns.
saturdayMedlem sedan jan. 2007133 inlägg Jag använder mig ju bara av fältet "lang" från tabellen som heter "visitorFacts". Båda existerar. Sedan skapar jag via SQL-frågan två nya fält. Ett som heter totalVisitor som räknar alla poster i tabellen. Det andra heter "totalLang" och ska räkna varje språk som kolumnen "lang" innehåller.
Så jag blir inte riktigt klok på det.
@ndersMedlem sedan juni 200032 969 inlägg När det gäller Access kan man inte ange skapade fälts namn i order by, utan du får ange ordningsnumret. Exempel:
... ORDER BY 3
, om du vill sortera på det tredje värdet i din SELECT.
saturdayMedlem sedan jan. 2007133 inlägg Grymt! Fungerade klockrent, tack som f*n! :)