am 11.11.2004, um 22:16:19 +0100 mailte Andreas Kretschmer folgendes:
Der Trick ist der Self-Join ueber die Sub-Queries. Bei vielen Datensaetzen in t1 koennte je ein Index ueber id1 und id2 die Performance verbessern.
Jo, Danke. Mir schwebte ja im Prinzip Deine Lösung vor, nur war ich zu blöd, dies korrekt zu formulieren. Mal sehen, ob ich morgen (sofern ich dazu komme) meine Kreuztabelle hinbekomme. Ich habe N Abteilungen und M Fehlerursachen, Ziel ist eine Tabelle mit M Spalten und N Zeilen und in den Zellen dann die Summe der durch Reklamationen entstandenen Gutschriften. Diese Ergebnistabelle kann ich dann direkt via ODBC dem Controlling ins Excel knallen - fertich.
Wow!
Ich habe nun eine Kreuztabelle aus 24 Zeilen und 98 Spalten, die aus den Werten einer (okay, noch nicht allzugroßen Tabelle mit 1200 Zeilen) berechnet wird. Geht Klick->fertig. (\timing -> Zeit: 363,863 ms)
Ich hatte sowas ähnliches schonmal mit einer Datentabelle mit ca. 70.000 Zeilen gemacht, aber mit mehreren ineinander verschachtelten Schleifen, die Select's und Update's in rauer Menge produzierten. Laufzeit: ca. 1 Stunde...
PS.: SQL ist irnkwie auch was geiles. Man muß es nur können...
Na, sach ich doch ;-)
Andreas