Navigation:  Filter und SQL-Abfragen >

Beispiele für SQL-Filter

Vorherige SeiteInhaltsübersicht anzeigenNächste Seite

Alle Kunden filtern, die der Gruppe "A" zugeordnet wurden

exists (select grzuord.lfdnr from grzuord inner join gruppen on grzuord.gruppelfdnr=gruppen.lfdnr where grzuord.kundenlfdnr=k.lfdnr and gruppen.kurzbez='A')

 

Der obiger Filter kann in der Kundenverwaltung verwendet werden. Wenn Sie die Kundengruppen im Auftragsmodul filtern möchten, müssen Sie "k.lfdnr" durch "atr.kundenlfdnr" ersetzen:

 

exists (select grzuord.lfdnr from grzuord inner join gruppen on grzuord.gruppelfdnr=gruppen.lfdnr where grzuord.kundenlfdnr=atr.kundenlfdnr and gruppen.kurzbez='A')

 

Alle Kunden filtern, die NICHT der Gruppe "UV" zugeordnet wurden

not exists (select grzuord.lfdnr from grzuord inner join gruppen on grzuord.gruppelfdnr=gruppen.lfdnr where grzuord.kundenlfdnr=k.lfdnr and gruppen.kurzbez= 'UV')

 

Kunden filtern, die bestimmten Gruppen zugeordnet wurden

Gruppen lassen sich nur über SQL korrekt filtern.

 

Der folgende SQL-Filter filtert die Adressen der Gruppen IHREGRUPPE1 und IHREGRUPPE2, wobei ermittelte Adressen nicht der Gruppe DIESEGRUPPENICHT1 und DIESEGRUPPENICHT2 zugeordnet sein dürfen:

 

( exists (select GRUPPEN.KURZBEZ from GRZUORD, GRUPPEN where GRZUORD.GRUPPELFDNR=GRUPPEN.LFDNR and GRZUORD.KUNDENLFDNR=K.LFDNR and GRUPPEN.KURZBEZ= 'IHREGRUPPE1')

OR exists (select GRUPPEN.KURZBEZ from GRZUORD, GRUPPEN where GRZUORD.GRUPPELFDNR=GRUPPEN.LFDNR and GRZUORD.KUNDENLFDNR=K.LFDNR and GRUPPEN.KURZBEZ= 'IHREGRUPPE2')

)

AND NOT exists (select GRUPPEN.KURZBEZ from GRZUORD, GRUPPEN where GRZUORD.GRUPPELFDNR=GRUPPEN.LFDNR and GRZUORD.KUNDENLFDNR=K.LFDNR and GRUPPEN.KURZBEZ= 'DIESEGRUPPENICHT1')

AND NOT exists (select GRUPPEN.KURZBEZ from GRZUORD, GRUPPEN where GRZUORD.GRUPPELFDNR=GRUPPEN.LFDNR and GRZUORD.KUNDENLFDNR=K.LFDNR and GRUPPEN.KURZBEZ= 'DIESEGRUPPENICHT2')

 

Artikelgruppen filtern

Artikelgruppen lassen sich ebenfalls per SQL-Filter selektieren, ähnlich wie bei den Kundengruppen (s.o.):
 

exists (select ArtGrup.Gruppe from ArtGrupZuord, ArtGrup where ArtGrupZuord.ArtGrupLFDNR=ArtGrup.LFDNR and ArtGrupZuord.ArtikelLFDNR=Art.LFDNR and ArtGrup.Gruppe='IHREARTIKELGRUPPE')

 

Artikelbestand filtern

Wenn Sie den Bestand innerhalb eines SQL-Filters verwenden möchten, müssen Sie beachten, dass der Bestand eines Artikel nicht über das Feld "Bestand" abgefragt werden kann, da der aktuelle Bestand nur über eine Summierung der Lagerbestand-Tabelle möglich ist.

 

Verwenden Sie deshalb anstelle von "Bestand" den folgenden Ausdruck:

 

coalesce((select sum(coalesce(LAGERBESTAND.BESTAND,0)) from LAGERBESTAND inner join

LAGER on LAGERBESTAND.LAGERLFDNR=LAGER.LFDNR where LAGERBESTAND.ARTIKELLFDNR=ARTIKEL.LFDNR

and LAGER.BESTANDAUSBLENDEN is NULL),0)

 

Beispiel, um alle Artikel zu filtern, deren Bestand größer als 0 ist:

 

 

Artikel filtern, deren Bestand sich in den letzten 30 Tagen nicht geändert hat

(select max(lagerbestand.geaendertam) from lagerbestand where lagerbestand.artikellfdnr=art.lfdnr) < current_date - 30

 

Artikel filtern, die als Unterartikel in einer Stückliste enthalten sind

exists( select artstlst.lfdnr from artstlst where artstlst.artikellfdnr=art.lfdnr)

 



www.Amicron.org - Stand: 13.01.2022.

Bitte hier klicken, wenn Sie uns Ihr Feedback zu diesem Hilfethema senden moechten.