Hi dedlfix,
Na, dann mach das doch so. Gruppiere nach MID und bilde dann die Summe. Ich nehme an, die MID ist in t1 einmalig und die Dopplungen, die du mit DISTINCT wegzubekommen versuchst, entstehen durch das Joinen von mehreren zugehörigen Datensätzen aus t2/3/4.
Ja, so wird es sein...
Wie ziehe ich denn die Summe einer Gruppe? Weil, nachfolgendes funktioniert nicht, sondern ergibt ebenfalls die zu hohen Werte:
SELECT
SUM(EK)
FROM tabelle1 t1
Left JOIN tabelle2 t2 ON t1.MID = t2.MID
LEFT JOIN tabelle3 t3 ON t2.TID = t3.TID
LEFT JOIN tabelle4 t4 ON t1.MID = t4.MID
WHERE
t1.MID = 4343
GROUP BY t1.MID
Ein anderer Vorschlag ist, die Summe in einer correlated Subquery zu bilden, besonders wenn das der einzige Wert ist, der aus den gejointen Tabellen genommen/gebildet werden soll. Damit umgeht man auch das GROUP-BY-Problem, dass man keine anderen Felder selektieren kann also die dort angegebenen, ohne eventuell Probleme zu bekommen.
Sorry, diesen Satz habe ich nicht verstanden.
Lukas