Avatar billede rowling Nybegynder
29. maj 2005 - 21:15 Der er 3 kommentarer

SQL - UNION ALL og SUM

Ok – så jeg har 3 tabeller med forskellige data – jeg har brug for at lave et UNION ALL på alle 3 tabeller, udtrække bestemte data og addere alle værdierne I et af felterne,

Jeg laver så den her UNION ALL på de 3 tabeller og fratrækker de data jeg ikke gider have:
SELECT Felt1 FROM Tabel1 WHERE FeltID=" & Session("id") & " AND Felt2='Variabel'
UNION ALL
SELECT Felt1 FROM Tabel2 WHERE FeltID=" & Session("id") & " AND Felt2='Variabel'
UNION ALL
SELECT Felt1 FROM Tabel3 WHERE FeltID=" & Session("id") & " AND Felt2='Variabel'

Så langt så godt – det bedste ville være om jeg kunne lave en SUM på Felt1 – men det kan vidst ikke lade sig gøre så jeg bliver nødt til at lave en afskyelig loop og addere værdierne ”manuelt”:
While not rs.eof
Variabel=CLng(Variabel)+CLng(rs.fields("Felt"))
rs.movenext
wend

Nu kommer problemet. Den variabel jeg ligger værdierne ind i indeholder kun sidste post i den UNION’ede tabel! Hvis jeg udskriver loopet kan jeg se at der loopes igennem 7-8 felter med lige så mange integer værdier – men når jeg udskriver den variabel jeg i loopet adderer det hele i, indeholder den kun integer værdien fra sidste felt i tabellen.

Det er IMHO komplet meningsløst... B-|

Hvis nogen kan se hvad problemet er ville det være hjælpsomt - hvis nogen ved om man kan lave en SUM i det aktuelle eksempel, ville det være fantastisk.
Avatar billede nielle Nybegynder
29. maj 2005 - 21:21 #1
Hvordan ser din kode ud?
Avatar billede nielle Nybegynder
31. maj 2005 - 15:57 #2
Ingen respons. Betyder det at du selv har fundet løsningen?
Avatar billede nielle Nybegynder
26. juni 2005 - 20:06 #3
?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester