Mailinglisten-Archive |
Hallo, nachdem ich nun schon lange probiere und gruebele und keine Loesung finde, muss ich euch mal wieder um Hilfe bitten: In meiner Tabelle "Daten" habe ich eine Spalte "Nummer"(int), um die es geht. In Spalte "Art"(int) stehen Merkmalsauspraegungen von Nummer (1 bis 9). Nummer kann also mehrfach vorkommen. Ich suche nun alle Nummern, die Auspraegung 3 haben, aber nicht zusaetzlich 2. Ausserdem gibt es eine Spalte Datum, die indexiert ist. Probiert habe ich das bisher mit einem left join der Tabelle mit sich selber. Meine Abfrage sieht so aus: select a.Nummer from Daten a left join Daten b on (a.Nummer=b.Nummer and b.Datum="2002-05-31" and b.Art="2") where a.Datum="2002-05-31" and a.Nummer="3" and b.Nummer is Null; Ich bin mir nicht ganz sicher, ob wirklich das richtige Ergebniss dabei rauskommt, denke aber schon. Das groesste Problem bei der Abfrage ist allerdings die Laufzeit (ca. 1h). Sieht jemand einen Weg, wie man das ganze (deutlich) schneller machen kann oder ob ich in der Abfrage einen Denkfehler habe? Mit zusaetzlichen Tabellen und Indices habe ich schon rumgespielt, das brachte aber nichts. Gruss, Thomas --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive