phpbar.de logo

Mailinglisten-Archive

AW: Kaskadierte join's

AW: Kaskadierte join's

Wolfgang Hauck mysql-de_(at)_lists.bttr.org
Thu, 24 Oct 2002 11:51:23 +0200


>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.

>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;
>###

Hi Svetoslav,

Du Joinst bei beiden Untertabellen auf die Mastertabelle, dadurch enstehen Kreuzverkettungen und die sind nicht erwünscht.

Also

###
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_1.f01=table_2.f00

GROUP BY table_master.KUNDENNUMMER;
###

So müsste es laufen ;-))

MFG Wolfgang

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



php::bar PHP Wiki   -   Listenarchive