Løkke i et sql med funktionen exists, som ikke virker
campaignsSplitted = split(campaigns, ", ")
sql = "select count(*) as total from kampagner"
for i = 0 to ubound(campaignsSplitted)
if i = 0 then
sql = sql & " (where id = " & campaignsSplitted(i)
else
sql = sql & " or id = " & campaignsSplitted(i)
end if
next
sql = sql & ") and exists(select campaign from rapporter where kampagner.id = rapporter.campaign)"
set rs = conn.execute(sql)
usersCount = usersCount + (rs("total") * 3)
Pointen er, at campaignsSplitted er af en variabel størrelse, alt afhængig af hvad der er gemt i databasen. Den skal finde alle rækker i tabellen kampagner hvor id er lig de id i campaignsSplitted-arrayet, men KUN hvis der samtidigt findes en række i tabellen rapporter hvor kolonnen campaign er lig id'et fra campaignsSplitted.
Det som sker her er, at exists-funktionen åbenbart ALTID er true, af en eller anden mærkelig grund :/
Nogen der kan hjælpe og evt. optimere?