Mailinglisten-Archive |
>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). Hi Thomas, In diesem Konstrukt liegt ein Denkfehler ??? Was willst du denn überhaupt verknüpfen? Hier verknüpfst du alle möglichen DS mit allen möglichen DS deren Feld Nummer gleich sind ??? Bei 100 gleichen Nummern sind das 10000 Datensätze! Ausserdem vergleichst du Gleiches mit Gleichem. Anschliessend soll dann a.Nummer 3 sein und b.Nummer NULL ??????? Wie soll das denn gehen? Ist 3 = Null? Wenn b.Datum="2002-05-31" und a.Datum="2002-05-31" dann: a.Datum = b.Datum. Diese Query kann nicht laufen. MFG Wolfgang --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive