Thema: Delphi SELECT in SELECT

Einzelnen Beitrag anzeigen

omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: SELECT in SELECT

  Alt 14. Mär 2005, 22:36
Moin,

natürlich geht das, die Frage ist eher, ob das auch schnell geht.

Wenn eine Abfrage im SELECT-Teil eingefügt wird, wird diese für jede Zeile einzeln durchgeführt. Dies ist dann relativ langsam. Besser und flexibler ist da die Verwendung eines LEFT JOINs. Bei dieser Vorgehensweise kann man mehr als einen Parameter erstellen und übergeben und man kann diese berechneten Felder auch mehrfach in der umgebenden SELECT-Anweisung verwenden (im SELECT-, WHERE-, GROUP BY-, HAVING-Teil)

Also ist folgende Vorgehensweise wesentlich eleganter und schneller...

SQL-Code:
SELECT A.ID, L.LAGER_MENGE
FROM ARTIKEL A
LEFT JOIN (SELECT ID, SUM(MENGE) AS LAGER_MENGE
           FROM LAGER) L
  ON A.ID = L.ID
WHERE L.LAGER_MENGE > 0
MfG
Thorsten
  Mit Zitat antworten Zitat