> 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

Antwort per Email an