[SQL]SUM() optellen en aftrekken binnen een query

Pagina: 1
Acties:
  • 2.014 views sinds 30-01-2008
  • Reageer

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

Topicstarter
Goeiemiddag allemaal,

Ik ben er denk ik achter ;).. reageer maar niet heb het anrtwoord al

Ik ben bezig om een totaalbedrag uit te rekenen. Ik heb drie tabbellen met waardes. De eerste tabel is het startkapitaal (start_kas en start_bank). In de tweedde tabel zitten alle inkomsten en in de derde tabel zitten alle uitgaven.

Op een bepaald moment moet ik weten wat het saldo is. Dat doe ik door het startkapitaal (start_kas + start_bank) te nemen. Daar alle inkomsten tot datum x bij op te tellen en dan alle uitgaven tot datum x daar vanaf te trekken. tenministe dat wil ik doen... maar hij doet het niet :(

Toen ik nog geen inkomsten had, deed ie het wel op de volgende manier

code:
1
2
3
Select (start_kas + start_bank - sum(kosten)) AS StartBedrag from tbl_start, 
tbl_uitgaven where tbl_start.user_id = 2
 AND tbl_uitgaven.user_id = 2 AND datum < '2003-4-14' group by start_kas, start_bank

Deze SQL geeft de goede waarde terug zonder de inkomsten. die moeten nog. Ik dacht simpel dat moet zo:
code:
1
2
3
4
Select (start_kas + start_bank + sum(inkomsten_bedrag) - sum(kosten)) AS StartBedrag 
from tbl_start, tbl_uitgaven, tbl_inkomsten where tbl_start.user_id = 2 AND tbl_uitgaven.user_id = 2 
AND tbl_inkomsten.user_id = 2 
AND tbl_inkomsten.datum < '2003-4-14' and tbl_uitgaven.datum < '2003-4-14' group by start_kas, start_bank

Maar dat is het niet. Hij komt nu met een heel raar bedrag.

De opgetelde waarde van start_kas en start_bank is 5400.. en de waarde van inkomsten_bedrag is 36.. dat opgeteld zou dus: 5436 moeten zijn (ik ben een rekenwonder :P)

maar als ik deze query uitvoer:
code:
1
2
select sum(start_kas + start_bank + inkomsten_bedrag) from tbl_start, 
tbl_inkomsten where tbl_start.user_id = 2 AND tbl_inkomsten.user_id = 2

Dan komt daar 10836 (5400*2 + 36) uit.. dat gaat niet goed, alleen weet ik niet waar.

Misschien dat jullie me met deze laatste query kunnen helpen want ik snap er niks van.

-editje-
als ik de SUM appart neem: sum(a)+sum(b)+sum(b) doet ie het ook niet...


ANTWOORD:
Ik moet a + b + sum(c) doen/.....

Ik gebruik SQL Server 2000..

NB Ik hoop dat het te lezen en begrijpen is

[ Voor 5% gewijzigd door Jaspertje op 09-04-2003 14:48 ]


  • Rotjeknor
  • Registratie: April 2001
  • Laatst online: 03-02 15:29
offtopic:
handig van die zelf-oplossende vragen (-:

Ook Knor is aangestoken met het ligfietsvirus!


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

Topicstarter
Rotjeknor schreef op 09 april 2003 @ 14:51:
offtopic:
handig van die zelf-oplossende vragen (-:
Ik zal het toen ik het gepost had.. dus ik heb het wel hier gevonden ;)