![]() |
Re: SQL abfrage aber wie?
Das Ergebnis ist das gleich, aber
SQL-Code:
sollte IMHO etwas schneller und Server schonender sein, weil das äussere SELECT aus einer bereits passend verkleinerten Datenmenge auswählt.
SELECT TB020.000 AS TB025F012,
TB020.013 AS TB020F013, TB020.014 AS TB020F014 FROM TB020 WHERE TB020.000 IN ( SELECT DISTINCT TB025.F012 FROM TB025 ) Stattdessen wird bei der INNER JOIN Variante erst alles zusammemgesammelt und dannach ein Großteil der Daten durch das DISTINCT verworfen. |
Re: SQL abfrage aber wie?
Zitat:
Beispiel:
SQL-Code:
Erklärung:
SELECT DevTbl.*, TB020.FeldA, TB020.FeldB
FROM (Select TB025.F012, COUNT(*) AS Anzahl From TB025 Group By TB025.F012) DevTbl LEFT OUTER JOIN TB020 ON DevTbl.F012=TB020.F012 Zuerst wird der Unterselect zusammen mit dem GROUP BY ausgeführt. Dieser Unterselekt erhält den Aliasnamen DevTbl. Dabei werden die Anzahl der Datensätze schon mal stark reduziert. (Gut für Performance!!) Danach wird ein JOIN auf eine weitere Tabelle ausgeführt. |
Re: SQL abfrage aber wie?
Hallo zusammen
jens: danke für den Tipp :thumb: shmia: werde das ganze gleich ausprobieren. Ist immer wieder interessant zu sehen was für kluge Köpfe in diesem Forum herumgeistern. Ich finde dieses Forum einfach nur G...l. :thumb: D A N K E :hi: schöne Grüsse Tau |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz