UNION gör att du får tre rader i svaret, med endast en kolumn (som får namnet av den första sökningen)
Ersätt UNION med komma så borde det funka på stört
8 svar · 310 visningar · startad av roady
Jag försöker att räkna flera olika tabeller i samma SQL-sats.
Vill räkna från 3 tabeller och de skall inte vara beroende av varandra, men får inte direkt ihop det :(
är jag helt fel ute?
SQLcount = "SELECT Count(user.userID) AS AntaluserID FROM user UNION " & _
"SELECT Count(gallery.galleryID) AS AntalgalleryID FROM gallery UNION " & _
"SELECT Count(redaktor.redaktorID) AS AntalredaktorID FROM redaktor;"
objRS.Open SQLcount, objConnect, adOpenForwardOnly, adLockReadOnly, adCmdText
Dim User, Gallery, Redaktor
User = objRS("AntaluserID")
Gallery = objRS("AntalgalleryID")
Redaktor = objRS("AntalredaktorID")
Det är den här jag får fel på:
Gallery = objRS("AntalgalleryID")
Feltyp:
ADODB.Recordset (0x800A0CC1)
Objektet kunde inte hittas i mängden med det begärda namnet eller numret.
/webportal/admin/user_index.asp, line 36
UNION gör att du får tre rader i svaret, med endast en kolumn (som får namnet av den första sökningen)
Ersätt UNION med komma så borde det funka på stört
Nja... sitter här och håller på att bli galen, plockat fram en stor SQL-bok utan att hitta något, kanske lite trött!
Va kan jag erstätta UNION med ?
Ersätt UNION med komma så borde det funka på stört
Har även försökt med:
SQLcount = "SELECT Count(user.userID) AS AntaluserID, Count(gallery.galleryID) AS AntalgalleryID FROM user, gallery;"
Men jag får samma svar på AntaluserID, AntalgalleryID...
Den har bara plusat ihop talen :(
Fungerar inte denna:
SQLcount = "SELECT Count(user.userID) AS AntaluserID FROM user, " & _
"SELECT Count(gallery.galleryID) AS AntalgalleryID FROM gallery, " & _
"SELECT Count(redaktor.redaktorID) AS AntalredaktorID FROM redaktor;"
Mvh,
Ledsen, var lite för snabb där...
testade:
SQLcount = "SELECT Count(user.userID) AS AntaluserID FROM user, " & _
"SELECT Count(gallery.galleryID) AS AntalgalleryID FROM gallery, " & _
"SELECT Count(redaktor.redaktorID) AS AntalredaktorID FROM redaktor;"
Men får bara:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i FROM-instruktion.
/webportal/admin/user_index.asp, line 21
Har även testat med;
SQLcount = "SELECT Count(user.userID) AS AntaluserID, " & _
"SELECT Count(gallery.galleryID) AS AntalgalleryID, " & _
"SELECT Count(redaktor.redaktorID) AS AntalredaktorID FROM user, gallery, redaktor;"
Men då får jag
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel. i frågeuttrycket 'SELECT Count(gallery.galleryID)'.
/webportal/admin/user_index.asp, line 21
Hm, ja, det kanske blir lite knas. Svårt att se när man inte ser den kompletta SQL-frågan utskriven i ett sträck.
Prova så här i stället:
SQLcount = "SELECT Count(user.userID) AS AntaluserID, (SELECT Count(gallery.galleryID) FROM gallery) AS AntalgalleryID , (SELECT Count(redaktor.redaktorID) FROM redaktor) AS AntalredaktorID FROM user"
Mvh,
kanske blev lite lättare, funkar helt utmärkt,
nu blev jag jätteglad :e ... Du är ju kung!