phpbar.de logo

Mailinglisten-Archive

Kaskadierte join's

Kaskadierte join's

Koev mysql-de_(at)_lists.bttr.org
Thu, 24 Oct 2002 12:39:04 +0100


Hallo Michael,

die abfrage bringt (bei machen datensaeten) exakt das doppelte, dreifache
und so weiter.
der grund sind tatsaechlich die kreuzverkettungen so wie es Wolfgang gesagt
hat.
(sieht man auch bei weglassen der summen).
die feldnamen kommen so aus anderen datenbankquellen (kann man nicht
beeinflussen).

NUN: wie kann man so etwas besser (und richtiger) loesen?

Svetoslav


Michael Bergbauer schrieb:

> On Thu Oct 24, 2002 at 11:4051AM +0100, Koev wrote:
> > Hallo Leute,
> >
> > brauche dringend Rat.
> >
> > Folgende Abfrage bringt oft bei den Summen (summe_1)
> > das Doppelte, das Dreifache ja sogar manchmal das Vierfache dessen
> > was eigentlich erwartet wird.
>
> Exakt das doppelte, dreifache oder vierfache? Oder nur so ungefaehr?
>
> > Woran kann dies liegen???
> > (etwas mit den Kaskadierten join's scheint falsch zu sein, oder???)
> >
> > ###
> > SELECT table_master.KUNDENNUMMER,
> > (SUM(ABS(table_1.f07))+SUM(ABS(table_2.f05)))/1000 AS summe_1,
> > SUM(ABS(table_2.f03))/1000 AS summe_2
> >
> > FROM table_master
> > LEFT JOIN table_1
> >  ON table_master.KUNDENNUMMER=table_1.f01
> > LEFT JOIN table_2
> >  ON table_master.KUNDENNUMMER=table_2.f00
> >
> > GROUP BY table_master.KUNDENNUMMER;
> > ###
>
> Fuer welche der beiden Summen kommen denn die falschen Werte?
>
> Versuch mal die Summen wegzulassen, und schau dir an, was du
> selektierst. Vielleicht siehst du dann mehr.
>
> Ansonsten, verrat mal mehr ueber die Tabellen ...
>
> Noch ein kleiner Tipp am Rande: Spaltennamen "f00", "f01", "f02" usw.
> sind in der Regel wenig sinnvoll, und bringen den, der die Anwendung mal
> weiter warten muss, zur Verzweiflung. Ich sprech da aus Erfahrung (F00
> bis F60; mehr Doku als die existierende Datenbank gab es nicht)
>
> --
> Michael Bergbauer <michael_(at)_noname.franken.de>
> use your idle CPU cycles - See http://www.distributed.net for details.
> Visit our mud Geas at geas.franken.de Port 3333
>
> --
> Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
> -->>  http://www.4t2.com/mysql

--
Dipl.-Ing. Svetoslav Koev
Systementwicklung

Inno Consult GmbH
Comeniusstraße 109
01309 Dresden

Telefon: +49 351 25796-13
Fax:     +49 351 25796-24
http://www.inno-consult.com



-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive