AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Access SQL performance

Ein Thema von HCB · begonnen am 31. Mär 2023 · letzter Beitrag vom 1. Apr 2023
 
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#11

AW: Access SQL performance

  Alt 31. Mär 2023, 17:25
Drei Versuche:
SQL-Code:
select
  top 30
  ABFStatKundenNr,
  total
from
(
  select
    ABFStat.ABFStatKundenNr,
    sum(ABFStat.ABFStatUmsatz) as total
  from ABFStat
  where ABFStat.ABFStatDatum > #01/01/2023#
  and exists
  (
    select 1
    from sPersKto
    where sPersKto.PersKtoArt = 68
    and sPersKto.PersKtoNummer = ABFStat.ABFStatKundenNr
  )
  group by ABFStat.ABFStatKundenNr
)
order by total desc
SQL-Code:
select
  top 30
  ABFStatKundenNr,
  total
from
(
  select
    a.ABFStatKundenNr,
    sum(a.ABFStatUmsatz) as total
  from
    ABFStat a,
    sPersKto b
  where b.PersKtoNummer = a.ABFStatKundenNr
  and b.PersKtoArt = 68
  and a.ABFStatDatum > #01/01/2023#
  group by a.ABFStatKundenNr
)
order by total desc;
SQL-Code:
select
  top 30
  ABFStatKundenNr,
  total
from
(
  select
    a.ABFStatKundenNr,
    sum(a.ABFStatUmsatz) as total
  from
    (select ABFStatKundenNr, ABFStatUmsatz from ABFStat where ABFStatDatum > #01/01/2023#) a, -- Datenmengen möglichst früh eingrenzen
    (select PersKtoNummer from sPersKto where PersKtoArt = 68) b
  where b.PersKtoNummer = a.ABFStatKundenNr -- und erst dann die Teilmengen miteinander verbinden
  group by a.ABFStatKundenNr
)
order by total desc
Und zur Vorbeugung:
Zitat von himitsu (aus einem anderen Thread zum gleichen Themenkomplex):
IHHHHHH, nicht so.

Access kann auch JOINs in Richtig.
Weiß ich, so geht aber auch und ist für ich leichter verständlich

Fehler im From?
SQL-Code:
select
  Sum(Spaltenname) as AliasName -- as vor den Aliasnamen
from TabellenName Aliasname -- kein as vor den Aliasnamen
group by Spaltenname
Manche Datenbanken kommen in beiden Fällen mit dem AS zurecht.
Manche Datenbanken kommen in beiden Fällen ohne das AS zurecht.
Manche Datenbanken kommen nur im ersten Fall mit dem AS zurecht, aber nicht im zweiten Fall.

Das könnte bei Access die Ursache für den 'Syntaxfehler in FROM-Klausel' sein.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:59 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