Einzelnen Beitrag anzeigen

Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#7

Re: Params im ADOQuery nicht angenommen.

  Alt 17. Feb 2004, 14:06
Wenn ich das ganze durch meine eigene HumanBrainSqlEngine laufen lasse, kommt das heraus:
SQL-Code:
    SELECT A.*

      FROM stopper A

INNER JOIN r_tubestopper B
        ON B.stopper_id = A.article_id

INNER JOIN r_articleproduct C
        ON C.article_id = B.tube_id
       AND C.name = 'test'

INNER JOIN tubes D
        ON D.article_id = C.article_id

UNION

    SELECT A.*
      FROM stopper A
 WHERE NOT EXISTS ( SELECT article_id -- bloß keinen * hier!
                         FROM stopper A

                   INNER JOIN r_tubestopper B
                           ON B.stopper_id = A.article_id

                   INNER JOIN r_articleproduct C
                           ON C.article_id = B.tube_id
                          AND C.name = 'test'

                   INNER JOIN tubes D
                           ON D.article_id = Carticle_id
                   )
[Edit]Das Folgende wird sich später als voreilig von mir erweisen:[/Edit]
und wenn ich mir das dann so ansehe, liefert diese Abfrage auf sehr umständliche Art und Weise das gleiche Ergebnis wie:
SQL-Code:
    SELECT *
      FROM stopper

korrigiert mich, wenn ich das falsch sehe...

Weiter: in Deinem "Where Not Exists"-Statement, solltest Du unbedingt den Stern "*" durch eine konkrete Spalte ersetzen - bringt mehr Speed.

*sichgarnichtberuhigenkann*

Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat