phpbar.de logo

Mailinglisten-Archive

[dbs] addieren und subtrahieren

[dbs] addieren und subtrahieren

Sebastian Mendel lists at sebastianmendel.de
Fre Jun 25 08:34:07 CEST 2004


Sven Eicher schrieb:

> Hallo
> 
> Gegeben sind 3 Tabellen.
> 1. Namen
> p_id, name
> 
> 2. Einnahmen
> b_id, p_id, menge
> 
> 3. Ausgaben
> v_id, p_id, menge
> 
> 
> Die erste Tabelle enthält die Daten zur Identifikation der Einträge.
> Die 2. und 3. Tabelle sind über die p_id mit der ersten "verknüpft".
> 
> In der 2. Tabelle werden Einnahme eingetragen, in der 3. Ausgaben.
> 
> Nun möchte ich den aktuellen Stand, also die Menge an Einnahmen nach Abzug der 
> Ausgaben wissen.
> 
> SELECT namen.name, 
>  SUM(einnahmen.menge) - SUM(ausgaben.menge) AS bestand
>  FROM namen, einnahmen, ausgaben
>  GROUP BY namen.p_id
> 
> Aber irgendwo hab ich da wohl einen mächtigen Denkfehler drin.
> Es kommt alles mögliche raus, nur nicht das, was ich haben will.
> Wenn zu einem Namen nur jeweils ein Datensatz existiert, dann stimmt das 
> Ergebnis. Gibt es aber bei Einnahmen oder bei Ausgaben mehr als einen 
> Datensatz zu einem Namen, dann stimmt da gar nix mehr.
> 
> Das kann doch nicht so schwer sein, verdam....
> Kann mir jemand einen Denkanstoß geben?

vielleicht solltest du MySQL noch sagen _wie_ er die Tabellen verknüpfen 
soll, nämlich anhand der `p_id`

entweder im WHERE
oder noch besser gleich per LEFT JOIN mit ON oder USING


-- 
Sebastian Mendel

www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime        www.sf.net/projects/phptimesheet

php::bar PHP Wiki   -   Listenarchive