Problemet är DENNA raden:
SQL = "SELECT r.intID, r.strName, r.strName2, r.strPathName, r.strFileName" _
& ", ( SELECT COUNT(*) FROM [users] u WHERE u.intRegionID = r.intID ) " _
[b]& ", ( SELECT COUNT(*) FROM [article] a, [users] u WHERE a.intUserID = u.intID AND u.intRegionID = r.intID ) " _[/b]
& " FROM [region] r WHERE r.bolView = TRUE ORDER BY r.strName;"
Detta fungerade bra ett antal dagar... men sen kom felmeddelande, "Invalid operation", och det gick att lösa med... :
SQL = "SELECT r.intID, r.strName, r.strName2, r.strPathName, r.strFileName" _
& ", ( SELECT COUNT(*) FROM [users] u WHERE u.intRegionID = r.intID ) " _
& ", ( SELECT COUNT(*) FROM [article] a, [users] u, [b][region] r[/b] WHERE a.intUserID = u.intID AND u.intRegionID = r.intID ) " _
& " FROM [region] r WHERE r.bolView = TRUE ORDER BY r.strName;"
Då fungerade koden i sig, men då blev uträkningen fel...
Nu står det lite still i min hjärna och jag har prövat olika varianter av detta...
[users]
intID
intRegionID
[article]
intID
intUserID
[region]
intID
Jag vill alltså räkna antalet artiklar skrivna i varje region. (Då får man kolla vilka
som bor i den regionen...)
Man kan säkert göra så här, men jag skulle vilja göra rätt!! :-)
Är jag tydlig nog, eller ska jag utveckla mig ännu mer??
Dessutom skulle din fråga vara snyggare om den skrevs med en join istället för en from med två tabellnamn. Och som frågan ser ut nu får du inte ut användare med 0 skrivna artiklar, detta kan du lösa med en left join.
select r.intID,
r.strName,
r.strName2,
r.strPathName,
r.strFileName,
count(u.intRegionId),
(select count(*)
from article
where intUserID = u.intid)
from region r
left join users u
on u.intRegionID = r.intID
where r.bolView = true
group by r.intID,
r.strName,
r.strName2,
r.strPathName,
r.strFileName
order by r.strName
255 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849