phpbar.de logo

Mailinglisten-Archive

left join Problem

left join Problem

Thomas Fritz mysql-de_(at)_lists.bttr.org
Fri, 31 May 2002 15:00:17 +0200


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