> Hallo! > > > folgendes Problem m�chte ich rein interessehalber mal zur Diskussion > > stellen: > > > > 1. Ich habe folgende QuickAndDirty-Abfrage formuliert (MS-SQL-Server > 7.0): > > SELECT * FROM A > > WHERE A1 < 1000 > > AND A1 NOT IN > > (SELECT B1 FROM B) > > > > 2. Das lief monatelang hervorragend. > > > > 3. Pl�tzlich lierferte diese Abfrage - ohne jede Fehlermeldung - keine > > Ergebnisse mehr. > > > > 4. Umgebaut auf: > > SELECT * FROM A > > LEFT OUTER JOIN > > B ON A.A1 = B.B1 > > WHERE A1 < 1000 > > > > 5. Schon ging�s wieder! Hat das was mit der Anzahl der Datens�tze in B > zu > > tun? > > Beide Varianten m�ssen verschiedene Ergebnisse liefern. Variante 1 sucht > in A die A1, die kleiner als 1000 und NICHT in B sind. Variante 2 sucht > alle in A, die kleiner als 1000 sind. > > Wenn die urspr�ngliche Abfrage keine Ergebnisse liefert, dann kann das > doch daran liegen, dass alle A1 in A auch in B vorhanden sind, oder? > > Ansonsten ist Variante 1 schneller als 2 und kann durch "NOT EXISTS" > noch beschleunigt werden. > > Freundliche Gr��e > Joachim van de Bruck > -------------------------------------------------------------------
Hallo Joachim, > Beide Varianten m�ssen verschiedene Ergebnisse liefern. Variante 1 sucht > in A die A1, die kleiner als 1000 und NICHT in B sind. Variante 2 sucht > alle in A, die kleiner als 1000 sind. ... UND die durch den Ausschluss per "OUTER JOIN" nicht in B sind. Das Ergebnis sollte daher schon dasselbe sein. (Oder? Mensch Kerl, verunsichere mich nicht!!!) > Wenn die urspr�ngliche Abfrage keine Ergebnisse liefert, dann kann das > doch daran liegen, dass alle A1 in A auch in B vorhanden sind, oder? Leider nein: in A waren zeitweise ca. 300 A1 vorhanden, die definitiv NICHT als B1 in B waren. Das Statement nach Variante 1 hat NICHTS angezeigt! Wie gesagt: Variante 2 funktionierte dann korrekt. Gru� J�rgen ----------------------------------- J�rgen Pekruhl [EMAIL PROTECTED] +49 521 92 57 622 TNS EMNID Bielefeld Stieghorster Str. 90 D - 33605 Bielefeld | [aspdedatabase] als [email protected] subscribed | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
