Es fehlt die Group by
SQL-Code:
execute block
as
begin
for select
substring(vp.ArtikelNr from 1 for 5) as Gruppe,
vp.ArtikelNr as ArtikelNr,
max(vp.Beschreibung) as Beschreibung,
max(vp.Farbe) as Farbe,
sum(vp.Menge) as Menge,
sum(vp.NettoSumme) as NettoSumme
from
VorgangPos vp
group by
vp.ArtikelNr
into :gruppe, :ArtikelNr, :Beschreibung, :Farbe, :Menge, :NettoSumme do
begin
for select sum(Menge) from VorgangPos where substring(ArtikelNr from 1 for 5) = Gruppe into :Gruppenmenge do suspend;
end
end
Super, das läuft im IBExpert in etwas mehr als einer Sekunde durch! Das Ergebnis ist ja nun in einzelnen Variablen im Execute block. Nur wie kann ich das Ergebnis nun als Datenmenge in Delphi nutzen? Sorry für die dumme Frage, aber ich hab noch nie mit dem execute block gearbeitet. Wenn ich das ganze in eine SP packe, habe ich ja das selbe Problem oder nicht? Die SP kann ja keine Datenmenge aus mehreren Records zurückgeben oder doch?