Avatar billede stof Nybegynder
01. august 2011 - 13:35 Der er 4 kommentarer og
1 løsning

Kan følgende omdannes?

Følgende er et eksempel på det jeg ønsker - jeg kunne bare godt tænke mig at undlade dsum, da det går ret langsomt.

Jeg skal udregne den nuværende balance for hver sag på et givent kontonummer.

TBLbetalinger indeholder betalinger med: et FraKontoNummer, TilKontonummer, Beløb og et SagsIDB.

/SQL:
SELECT TBLbetalinger.SagsIDb, Nz(DSum("Beloeb","TBLbetalinger","TilKontoNummer ='" & [Ktn] & "' AND SagsIDb=" & TBLbetalinger.SagsIDb),0) AS TilKTN, Nz(DSum("Beloeb","TBLbetalinger","FraKontoNummer ='" & [Ktn] & "' AND SagsIDb=" & TBLbetalinger.SagsIDb),0) AS FraKTN, TilKTN-FraKTN As Balance
FROM TBLbetalinger
WHERE (((TBLbetalinger.TilKontoNummer)=[Ktn] Or (TBLbetalinger.FraKontoNummer)=[Ktn]))
GROUP BY TBLbetalinger.SagsIDb;


Jeg bruger altså Dsum for at adskille hvad der flyttes til kontoen og hvad der flyttes fra kontoen. Og til sidst trækker jeg de to beløb fra hinanden.

Kan sql'en skrives anderledes så jeg ikke bruger dsum? På forhånd mange tusind tak. Det trækker virkelig tænder ud for mig.


Skriv hvis det ikke giver mening.
Avatar billede Syska Mester
01. august 2011 - 18:50 #1
Hvordan ser din Query Plan ud i SSMS?

Det burde ikke gøre det langsom af den grund, men kan være utrolig langsomt hvis du mangler et index.

mvh
Avatar billede stof Nybegynder
02. august 2011 - 12:59 #2
Okay.

Jeg ved ikke lige hvad det er du hentyder til - men jeg kan da google det. :)

Index' har jeg sat på - men måske ikke nok/rigtigt.
Avatar billede Syska Mester
02. august 2011 - 13:28 #3
Derfor jeg ville se din query plan. Den fortæller lidt om hvordan databasen udfører din query og hvad den bruger tiden på.

Nu er jeg ikke kendt med Dsum, Nz ... sikker på du bruger en MSSQL ?

SSMS er Sql Server Management Studio.
Avatar billede stof Nybegynder
15. september 2011 - 08:45 #4
Jeg løste det på en anden måde. Ellers tak for hjælpen!
Avatar billede Syska Mester
15. september 2011 - 09:10 #5
Og den anden måde var?

Måske andre senere kan få brug for svaret.

mvh
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
Computerworld tilbyder specialiserede kurser i database-management

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