webForumDet fria alternativet

Felmeddelande mitt i koden!!

Databaser & SQL

6 svar · 293 visningar · startad av Eclipse

Medlem sedan juli 20003 825 inlägg
Frågan#1
SQL = "SELECT count(*) " _
& ", (SELECT COUNT(*) FROM [event] e WHERE e.dteCreated = " & dteMyDate & " ) " _
& ", (SELECT rcd.intID, COUNT(*) FROM " _
& " [roomBooking] rb, [room] r, [roomCategory] rc, [roomCategoryDetail] rcd WHERE " _
& " rb.intRoomID = r.intID AND r.intID = rc.intRoomID AND rc.intRoomCategoryDetailID = rcd.intID AND " _
& " rcd.intID = 3 AND " _
& " r.bolView = TRUE  " _
& ",) (SELECT rcd.intID COUNT(*) FROM [roomCategory] rc, [room] r, [roomCategoryDetail] rcd WHERE  " _
& " rc.intRoomID = r.intID AND rc.intRoomCategoryDetailID = 2 )" _
& ", (SELECT rcd.intID COUNT(*) FROM [roomCategory] rc, [room] r, [roomCategoryDetail] rcd WHERE  " _
& " rc.intRoomID = r.intID AND rc.intRoomCategoryDetailID = 1 ) " _
& " FROM [roomBooking] rb WHERE rb.dteDate = " & dteMyDate & ";"

Felmeddelande:

Microsoft JET Database Engine error '80040e14'

Syntax error. in query expression '(SELECT rcd.intID, COUNT(*) FROM [roomBooking] rb, [room] r, [roomCategory] rc, [roomCategoryDetail] rcd WHERE rb.intRoomID = r.intID AND r.intID = rc.intRoomID AND rc.intRoomCategoryDetailID = rcd.intID AND rcd.intID = 3 AND r.bolView = TRUE ,) (SEL'.

/v1/load_public_menus.asp, line 87

***
Rad 87 är inne i en loop och inte relevant i detta sammanhanget, inte på det viset....

Slutet har jag markerat. Hur kan det bli så!? Finns det någon begränsning på variabler??

(Access + asp)

Medlem sedan juni 200032 967 inlägg
#2

Om du kikar på felmeddelandet så ser du att du har ett kommatecken precis före slutparentesen i slutet av felmeddelandet. Flytta det.

Annars: skriv gärna ut SQL-frågan så blir det lättare att se vad som är galet.

mvh

Medlem sedan dec. 20003 563 inlägg
#3

Detta komma ser inte så rätt ut.

TRUE ,)

Ska nog bara

TRUE ),
Medlem sedan juli 20003 825 inlägg
#4

Jag är dum! Värsta bluder-felet.

Detta är en superlång SQL-sats, värsta avhandlingen, så det krävs någon som inte är insatt för att se den typen av fel!

***
Anders, frågan står ju där...

Nästa felmeddelande har jag inte heller sett tidigare:

SQL = "SELECT count(*) " _
& ", (SELECT COUNT(*) FROM [event] e WHERE e.dteCreated = " & dteMyDate & ") " _
& ", (SELECT rcd.intID, COUNT(*) FROM " _
& " [roomBooking] rb, [room] r, [roomCategory] rc, [roomCategoryDetail] rcd WHERE " _
& " rb.intRoomID = r.intID AND r.intID = rc.intRoomID AND rc.intRoomCategoryDetailID = rcd.intID AND " _
& " rcd.intID = 3 AND " _
& " r.bolView = TRUE  " _
& "), (SELECT rcd.intID, COUNT(*) FROM [roomCategory] rc, [room] r, [roomCategoryDetail] rcd WHERE  " _
& " rc.intRoomID = r.intID AND rc.intRoomCategoryDetailID = 2 )" _
& ", (SELECT rcd.intID, COUNT(*) FROM [roomCategory] rc, [room] r, [roomCategoryDetail] rcd WHERE  " _
& " rc.intRoomID = r.intID AND rc.intRoomCategoryDetailID = 1 ) " _
& " FROM [roomBooking] rb WHERE rb.dteDate = " & dteMyDate & ";"

Microsoft JET Database Engine error '80004005'

You have written a subquery that can return more than one field without using the EXISTS reserved word in the main query's FROM clause. Revise the SELECT statement of the subquery to request only one field.

/v1/load_public_menus.asp, line 87

Medlem sedan juni 200032 967 inlägg
#5

Anders, frågan står ju där...

Jo, jag ser det. Men det är extremt kladdigt med en miljon citationstecken, konkateneringar och annat. Det är helt enkelt mycket enklare att läsa en utskrift av den färdiga.

Edit: använder du den här SQL-frågan bara för att slå ihop flera räkningar till en SQL-fråga? Jag hade nog använt UNION istället för att krångla med delfrågor.

Medlem sedan juli 20003 825 inlägg
#6

"SELECT rcd.intID, COUNT(*) "

Detta fungerar inte.

Anders, koden är 1/10 av vad den egentligen är...

Fatta, detta är värsta doktorsavhandlingen!! Men det funkar nu i alla fall. Grejt! :-)

Förlåt, jag tycker UNION är förvirrande. Jag har inte fattat vad som är så bra med UNION.

Medlem sedan dec. 20003 887 inlägg
#7

Enkelt sagt så får du resultatet på flera rader i stället för kolumner.

260 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)