Mailinglisten-Archive |
Hi Svetoslav, >alles klar: >1.KUNDENNUMMER ist eindeutig >2.Haupttabelle entaelt Personen mit Kundennummern (eindeutig), die beiden >Untertabellen enthalten Konten aus verschiedenen Bereichen zu diesen Personen >mit Kontonummer (eindeutig) und Kundennummer (also table_1.f01 und table_2.f00) die den bezug zur Haupttabelle herstellen >(also mehrmals auftreten koennen) >3. Somit besteht kein zwingender Bezug zwischen den Untertabellen, >vielmehr stellen diese Untermengen der grossen Menge Konten (die es leider in einer einzigen Tabelle nicht gibt) Genau hier liegt dein Problem: Ich nehme mal an: main_table: 1 kunde table_1: 1 1 1000 2 1 1000 table_2: 1 1 500 2 1 500 3 1 500 Da soll dann ne Summe von 3500 rauskommen? Bei deinem Join passiert folgendes: DS main_table_id table_1_id table_2_id 1 1 1 1 1 1 1 2 1 1 1 3 1 1 2 1 1 1 2 2 1 1 2 3 Wenn du dann so deine Summe ausrechnest erhälts du 9000. Da jetzt aber hier kein Zusammenhang zwischen den beiden Tabellen table_1 und table_2 besteht können auch keine Filter greifen. Auch ein gruppieren hilft da nichts, da die Query die DS völlig falsch zusammensetzt. Das nächste Problem ist das die einzelen Teiltabellen unterschiedliche Datenmengen enthalten. Je mehr Daten in den einzelnen Tabellen drinstehen um so grösser wird die Summendifferenz. Da bleibt dir nichts anderes übrig als das über zwei Querys zu lösen oder du legst eine Temporärtabelle an, die table_1 und table_2 merged und wertest diese dann aus. >4. Die Summenfunktionen beziehen sich auf Felder (table_1.f07 etc.), die z. b. Salden enthalten > (SUM(ABS(table_1.f07))+SUM(ABS(table_2.f05)))/1000 AS summe_1, > SUM(ABS(table_2.f03))/1000 AS summe_2 > > Hier muss ein Bezug zwischen table_1 und table_2 bestehen, welche? > MFG Wolfgang -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive