Thema: Delphi Ersatz für DISTINCT ??

Einzelnen Beitrag anzeigen

alex517

Registriert seit: 23. Nov 2004
Ort: Bernau b. Berlin
273 Beiträge
 
Delphi XE5 Enterprise
 
#24

Re: Ersatz für DISTINCT ??

  Alt 4. Aug 2006, 15:34
[krümelkackermodus]

Zitat von onlinekater:
Ich möchte aber dazu noch anmerken, daß die Methode von dataspider und mir weniger Reads benötigt (auch wenn diese indiziert sind).
nach dem ich mir deine Bemerkung bezüglich GROUP BY <--> DISTINCT zu Herzen genommen habe,
jetz nochmal:

SQL-Code:
CREATE PROCEDURE ERMITTLE_ALLEMWSTSP (
    ABDATUM DATE)
RETURNS (
    ID_OUT INTEGER,
    MWSTSATZ_OUT INTEGER,
    ABDATUM_OUT DATE,
    MWSTWERT_OUT DECIMAL(15,2))
AS
BEGIN
  if (ABDATUM is NULL) then ABDATUM = CURRENT_DATE;
  for
    select
      S.MWSTSATZ
    from
      mwst S
    GROUP BY MWSTSATZ
    into
      :MWSTSATZ_OUT
    DO BEGIN
      for
        select first 1
          M.ID,
          M.ABDATUM,
          M.MWSTWERT
        from
          mwst M
        where
          M.MWSTSATZ = :MWSTSATZ_OUT and
          M.ABDATUM <= :ABDATUM
        order by
          M.ABDATUM desc
        INTO
          :ID_OUT,
          :ABDATUM_OUT,
          :MWSTWERT_OUT
        DO
          SUSPEND;
    END
END
Ergebnis:
deine Variante 11 Reads
meine Variante 8 Reads

[/krümelkackermodus]
alex
Alexander
  Mit Zitat antworten Zitat