Mailinglisten-Archive |
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