Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL abfrage aber wie? (https://www.delphipraxis.net/46917-sql-abfrage-aber-wie.html)

jensw_2000 3. Jun 2005 07:45

Re: SQL abfrage aber wie?
 
Das Ergebnis ist das gleich, aber
SQL-Code:
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 
         )
sollte IMHO etwas schneller und Server schonender sein, weil das äussere SELECT aus einer bereits passend verkleinerten Datenmenge auswählt.
Stattdessen wird bei der INNER JOIN Variante erst alles zusammemgesammelt und dannach ein Großteil der Daten durch das DISTINCT verworfen.

shmia 3. Jun 2005 10:46

Re: SQL abfrage aber wie?
 
Zitat:

Zitat von Tau
Gibt es nicht irgend wie eine Möglichkeit mit einer unter abfrage oder so?

z.B.( Select TB025.F012 From TB025 Group By TB025.F012 )
und dann darüber einen Select mit Left outer Join auf die Tabelle TB020 zu legen. :gruebel:

Doch, damit wärst du auf dem richtigen Weg.
Beispiel:
SQL-Code:
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
Erklärung:
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.

Tau 3. Jun 2005 22:43

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 23:21 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz