06. august 2008 - 12:42Der er
8 kommentarer og 2 løsninger
sql forspørgsel med "0" hvis tom
Hej
jeg har en forespørgsel:
AlleSkyldigeOmkostninger.Open "SELECT BOGFPOST.BOGF_KTO, Sum(BOGFPOST.BLB_AFD) FROM INV.BOGFPOST BOGFPOST WHERE (BOGFPOST.BOGF_KTO In ('325000','210706')) AND (BOGFPOST.PORTEFOELJE='" & afd & "') AND (BOGFPOST.BOGF_DATO>={ts '2008-01-01 00:00:00'}) GROUP BY BOGFPOST.BOGF_KTO", invcon, adOpenStatic
problemet er at hvis der ikke er registereret noget på konto 210706 men kun 325000 så kommer der kun en record, men jeg vil gerne have så der kommer 2 records, men så at der bare står 0 ved konto 210706 hvis den er tom. hvordan?
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Du har sikkert en tabel med dine kontoer (altså en tabel, hvor der er én række for hver konto). Den skal du bruge som udgangspunkt, og så lave en LEFT JOIN på kontonummeret til din tabel med poster. Noget ala:
SELECT konti.konto, SUM(BOGFPOST.BLB_AFD) FROM konti LEFT JOIN INV.BOGFPOST BOGFPOST ON konti.konto = BOGFPOST.BOGF_KTO WHERE (konti.konto IN ('325000','210706')) AND ((BOGFPOST.PORTEFOELJE IS NULL) OR (BOGFPOST.PORTEFOELJE='" & afd & "')) AND ((BOGFPOST.BOGF_DATO IS NULL) OR (BOGFPOST.BOGF_DATO>={ts '2008-01-01 00:00:00'})) GROUP BY konti.konto
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.