Einzelnen Beitrag anzeigen

alex517

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

Re: Problem mit stored Procedure und group by

  Alt 30. Aug 2005, 21:41
Hi Hansa,

Zitat:
HAVING (SUM (UMSATZ) <> NULL) Mit "0" geht das zwar, aber ich habe gesehen, daß da doch ziemlich viele NULL Werte drin sind. Wie grenze ich denn die jetzt noch aus ?
Wie lautet das ganze SQL-Statement? "UMSATZ" ist bisher noch nicht aufgetaucht.
Sollte es aber um die GESMENGE gehen, so kann diese NULL nicht enthalten, wenn man in der SP vor SUSPEND
    IF (GESMENGE is NULL) THEN GESMENGE = 0; einfügt. Das kann man auch immer einfach auf ..WHERE GESMENGE>0 prüfen.

Zitat:
Aber wie greife ich denn jetzt mit Delphi darauf zu ?
wo ist den das Problem?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
{ FIBDataSet1.SQLs.SelectSQL:
    select A.NR, A.BEZ, T.GESMENGE
    from art A
    left join TESTSP_GES(:VonMonat,:BisMonat, A.ID) T on (1=1)
    @@Filter@
}

begin
  FIBDataSet1.Close;
  FIBDataSet1.ParamByName('VonMonat').AsInteger := StrToIntDef(EVon.Text, 0);
  FIBDataSet1.ParamByName('BisMonat').AsInteger := StrToIntDef(EBis.Text, 999999);
  if CBOhne0Mengen.Checked then
    FIBDataSet1.ParamByName('Filter').AsString := 'where GESMENGE>0'
  else
    FIBDataSet1.ParamByName('Filter').AsString := '';
  FIBDataSet1.open;
end;
alex
Alexander
  Mit Zitat antworten Zitat